var images = new Array("bild1.jpg", "bild2.jpg", "bild3.jpg"); // Array mit den Bildpfaden
var img = new Array(); // Array für die Bild-MCs
var loaded = 0; // zeigt an, wie viele Bilder schon geladen wurden
var dec = 20; // Abbremsungsfaktor für das Überblenden
var currentImage = -1; // aktuelles Bild
var interval = 3000; // Zeitspanne zwischen den Bildern (hier: 3 Sekunden)
var iv = 0; // Intervall-Handler für setIntervall (Pause zwischen den Bildern)
var stime = 0; // Zeit nach dem Einblenden merken
var mcl = new MovieClipLoader(); // MovieClipLoader um die Bilder zu laden
mcl.onLoadInit = function() { // wird aufgerufen, wenn ein Bild geladen wurde
clearInterval(iv); // Intervall löschen
if (getTimer() - stime >= interval) { // wenn Intervallzeit schon abgelaufen:
showNext(); // .. direkt nächstes Bild anzeigen
} else { // ansonsten:
iv = setInterval(showNext, interval - (getTimer() - stime)); // Bild nach Restzeitspanne anzeigen
}
}
for (var i=0; i<images.length; i++) {
img[i] = this.createEmptyMovieClip("img" + i, i); // Für jedes Bild einen MC erstellen
var ct = img[i].createEmptyMovieClip("ct", 1); // ... und dort einen weiteren leeren MC hineinpacken
img[i]._src = images[i];
img[i]._visible = false; // Bild erstmal ausblenden
img[i]._alpha = 0; // und Alphawert auf 0 sethen
}
loadNext();
function loadNext() { // nächstes Bild vorladen
var d = currentImage + 1;
if (d > images.length - 1) d = 0;
mcl.loadClip(img[d]._src, img[d].ct);
}
function showNext() { // nächstes Bild anzeigen
clearInterval(iv);
img[currentImage].fade(0, dec);
currentImage ++;
if (currentImage > images.length - 1) currentImage = 0;
img[currentImage].swapDepths(this.getNextHighestDepth());
img[currentImage]._x = Stage.width / 2 - img[currentImage]._width / 2;
img[currentImage]._y = Stage.height / 2 - img[currentImage]._height / 2;
img[currentImage].fade(100, dec);
stime = getTimer(); // aktuelle Zeit merken
loadNext(); // und gleich das nächste Bild vorladen
}
MovieClip.prototype.fade = function(d, s) {
if (d != 0) this._visible = true;
this.onEnterFrame = function() {
this._alpha += (d - this._alpha) / s;
if (Math.abs(d - this._alpha) < 1) {
delete this.onEnterFrame;
this._alpha = d;
if (d == 0) this._visible = false;
}
}
}