Ich habe den Code Lokal und Online ausgeführt. Egal wo das Ergebnis ist gleich - ich sehe ein flackerndes Bild. Irgend wie wird die Funktion aktualisieren_laden nicht ausgeführt. An was kann das liegen und kann ich bis die Funktion akualisieren_laden fertig ist mit clearInterval(aktualisieren_zeit); den Intervall stoppen bis das Bild gefadet wurde?
Code:
stop();
var tl = this;
var blende = 5; // überblendungszeit
// var voriges_bild;
var voriges_bild = webcam1;
var bild = 2;
var bilder = 1;
aktualisieren_zeit = setInterval(aktualisieren,3000);
function aktualisieren() {
// Bild einladen
bild++;
var bilder_laden:MovieClipLoader = new MovieClipLoader();
bilder_laden.addListener(aktualisieren_handler);
var bilder:MovieClip = tl.createEmptyMovieClip("webcam"+bild, 1);
//bilder_laden.loadClip("xxx.jpg", bilder);
bilder_laden.loadClip("http://webcam.xxx.info/naviflash/xxx.jpg?cache="+(new Date().getTime()), bilder);
tl["webcam"+bild]._alpha = 20;
//wenn fehler dann zurück zum anfang nach definierter zeit
var aktualisieren_handler:Object = new Object();
aktualisieren_handler.onLoadError = function(target_mc:MovieClip, errorCode:String) {
if (errorCode == "URLNotFound") {
clearInterval(aktualisieren_zeit);
clearInterval(laden);
}
};
//wenn bild fertiggeladen dann funktion aktualisieren laden
aktualisieren_handler.onLoadComplete = function(target_mc:MovieClip) {
laden = setInterval(aktualisieren_laden, 100);
trace("Okay"); //wird nicht ausgelöst
};
}
//ein- und ausblenden der bilder
tl.aktualisieren_laden = function() {
tl["webcam"+bild]._alpha += blende;
voriges_bild._alpha -= blende;
//voriges bild wird neu definiert
voriges_bild = tl["webcam"+bild];
if (tl["webcam"+bild]._alpha>90 && voriges_bild._alpha<1) {
voriges_bild = tl["webcam"+bild];
// entladen des alten filmes
voriges_bild.unloadMovie();
}
};