SonMiko
Erfahrenes Mitglied
Hallo zusammen,
ich habe das Problem, dass mein Script sich einfach aufhängt.
Irgendwo mache ich wohl etwas falsch...
Mein Ziel ist das folgende: Ich lade x Bilder in x Clips rein.
Nun möchte ich zwischen diesen Bildern faden (immer nur in eine Richtung).
Meine Funktion nimmt dabei einen Clip, gibt diesem eine onEnterFrame Funktion welche
den Aplhawert schrittweise erhöht und zeitgleich gibt es allen anderen Clips eine onEnterFrame Methode,
die deren Alphawert schrittweise reduziert.
Die Funktion läuft auch an - sofern ich Sie mit einem Intervall aufrufe (1000ms und größer).
Allerdings ist dies ja nicht ganz korrekt - abhängig von den Bildern pro Sekunde die ich eingestellt habe (30 momentan)
variiert ja das Ergebnis was eigentlich berücksichtigt werden muss.
Also wäre es ja theoretisch besser, meine Funktion einmalig aufzurufen und davor einen Boolschen Wert anzugeben welcher beim starten auf true gesetzt ist.
Dann beim start der Funktion wird er auf false gesetzt und erst wenn alle onEnterFrame-Methoden gelöscht sind, sollte die Funktion erneut aufgerufen werden,
damit sich nichts überschneidet.
Dazu habe ich ein Objekt erstellt das die Eigenschaft überprüft um dann die Methode neu aufzurufen -
leider klappts nicht...
Also - hier mal der Code:
Über Ratschläge wäre ich sehr verbunden...
ich habe das Problem, dass mein Script sich einfach aufhängt.
Irgendwo mache ich wohl etwas falsch...
Mein Ziel ist das folgende: Ich lade x Bilder in x Clips rein.
Nun möchte ich zwischen diesen Bildern faden (immer nur in eine Richtung).
Meine Funktion nimmt dabei einen Clip, gibt diesem eine onEnterFrame Funktion welche
den Aplhawert schrittweise erhöht und zeitgleich gibt es allen anderen Clips eine onEnterFrame Methode,
die deren Alphawert schrittweise reduziert.
Die Funktion läuft auch an - sofern ich Sie mit einem Intervall aufrufe (1000ms und größer).
Allerdings ist dies ja nicht ganz korrekt - abhängig von den Bildern pro Sekunde die ich eingestellt habe (30 momentan)
variiert ja das Ergebnis was eigentlich berücksichtigt werden muss.
Also wäre es ja theoretisch besser, meine Funktion einmalig aufzurufen und davor einen Boolschen Wert anzugeben welcher beim starten auf true gesetzt ist.
Dann beim start der Funktion wird er auf false gesetzt und erst wenn alle onEnterFrame-Methoden gelöscht sind, sollte die Funktion erneut aufgerufen werden,
damit sich nichts überschneidet.
Dazu habe ich ein Objekt erstellt das die Eigenschaft überprüft um dann die Methode neu aufzurufen -
leider klappts nicht...
Also - hier mal der Code:
Code:
//variables
actualimage = 0;
fadingspeed = 5;
//function
function changePicture(){
myObj.readychange = false;
if(actualimage<pictures){
actualimage++;
}
else{
actualimage = 1;
}
//picture fading in and out
_root["picture"+actualimage].onEnterFrame = function(){
this._alpha+=fadingspeed;
if(this._alpha >= 100){
myObj.readychange = true;
delete this.onEnterFrame;
}
}
for(i=0;i<=pictures;i++){
if(i!=actualimage){
_root["picture"+i].onEnterFrame = function(){
this._alpha-=fadingspeed;
if(this._alpha <= 0){
delete this.onEnterFrame;
}
}
}
}
}
var myObj:Object = new Object();
myObj.readychange = true;
myObj.watch(readychange, changePicture(), true);
Über Ratschläge wäre ich sehr verbunden...