BSA
Erfahrenes Mitglied
Hi Leute!
Ich benutze ein fertiges Script, welches ich hier im Forum gefunden hab.
Jetzt würde ich das gernen noch ein bisschen Anpassen, es wäre nett wenn mir einer helfen kann, da ich leider keine Ahnung habe von Flash.
Erstmal der Code:
Jetzt möchte ich das wenn man das Aufruft nicht erst ein Bild geladen wird, sondern das schon da ist, und dann erst zum nächsten "überfaded". Das hat bestimmt was mit createEmptyMovieClip zu tun, richtig?!
Und dann würde ich gerne die Alphablendungen etwas länger ziehen, also das nicht so abruppt machen. Beispiel gibts hier:
http://icespeedskater.de/fila/
Also wenn ich auf nen neuen Link klicken, soll er das auch nicht immer so abruppt laden, sondern am besten überblenden.
Würde mich über Hilfreiche Tipps freuen.
Gruß
Ich benutze ein fertiges Script, welches ich hier im Forum gefunden hab.
Jetzt würde ich das gernen noch ein bisschen Anpassen, es wäre nett wenn mir einer helfen kann, da ich leider keine Ahnung habe von Flash.
Erstmal der Code:
Code:
var pic = new Array();
var current = 0;
var loaded = 0;
var IV = 0;
var centerX = 296;
// Mittelpunkt der Bühne!
var centerY = 57.5;
var timeout = 6000;
// Zeit zwischen den Bildern!
var xm = new XML();
xm.ignoreWhite = true;
xm.load("banner.txt");
xm.onLoad = function() {
parse(this);
};
function parse(obj) {
for (var i = 0; i<obj.childNodes.length; i++) {
pic[i] = this.createEmptyMovieClip("pic"+i, i+512);
pic[i].ct = pic[i].createEmptyMovieClip("ct", 1);
pic[i]._alpha = 0;
pic[i].nr = i;
pic[i]._x = centerX;
pic[i]._y = centerY;
pic[i].go = function() {
// Einblenden
this.onEnterFrame = function() {
this._alpha += (100-this._alpha)/6;
if (this._alpha>=98) {
this._alpha = 100;
this._parent.nextPic(this.nr);
// ruft Funktion zum Anzeigen des
// nächsten Bildes auf
delete this.onEnterFrame;
}
};
};
pic[i].hold = function() {
// Ausblenden
this.onEnterFrame = function() {
this._alpha += (0-this._alpha)/15;
if (this._alpha<=2) {
this._alpha = 0;
delete this.onEnterFrame;
}
};
};
pic[i].ct.loadMovie(obj.childNodes[i].attributes.picture);
pic[i].onEnterFrame = function() {
if (this.ct._width>10 && this.ct._height>10) {
this.ct._x = -this.ct._width/2;
this.ct._y = -this.ct._height/2;
this._parent.nextLoaded();
delete this.onEnterFrame;
}
};
}
}
function showPic(nr) {
// Blendet ein Bild ein
clearInterval(IV);
if (current != nr) {
for (var i = 0; i<pic.length; i++) {
if (nr != i) {
pic[i].hold();
} else {
pic[i].go();
current = i;
}
}
}
}
function nextLoaded() {
loaded++;
if (loaded>=pic.length) {
randPic();
}
}
function nextPic(nr) {
// Blendet ein zufälliges Bild verzögert ein
clearInterval(IV);
do {
var v = int(Math.random()*pic.length);
} while (v == nr);
IV = setInterval(function () { showPic(v);}, timeout);
}
function randPic() {
// Blendet ein zufälliges Bild ein
clearInterval(IV);
do {
var v = int(Math.random()*pic.length);
} while (v == current);
showPic(v);
}
Jetzt möchte ich das wenn man das Aufruft nicht erst ein Bild geladen wird, sondern das schon da ist, und dann erst zum nächsten "überfaded". Das hat bestimmt was mit createEmptyMovieClip zu tun, richtig?!
Und dann würde ich gerne die Alphablendungen etwas länger ziehen, also das nicht so abruppt machen. Beispiel gibts hier:
http://icespeedskater.de/fila/
Also wenn ich auf nen neuen Link klicken, soll er das auch nicht immer so abruppt laden, sondern am besten überblenden.
Würde mich über Hilfreiche Tipps freuen.
Gruß