Folgendes Problem: über einen Button starte ich ein tweening in einem MC namens "referenzen". Während dieses tweening läuft, spiele ich ein wenig im Script umher und möchte ab einem bestimmten Punkt aber auf das Ende des tweenings warten. Das scheint leichter gesagt als getan. Mein erster Gedanke war eine Schleife mit einem setInterval(); allerdings hatte ich damit kein Glück - oder aber bin zu blöd dafür. Warum funktioniert folgender Scriptabschnitt nicht? Was mache ich verkehrt?
ActionScript:
1 2 3 4 5 6 7 8 9 10 11
while (_root.referenzen._currentframe != _root.referenzen._totalframes)
{
var myInterval_ID = setInterval(this, "doAbsolutelyNothing", 100);
trace("stop! " + myInterval_ID);
}
clearInterval(myInterval_ID);
this.referenzen.gotoAndPlay("start");
wie du das mit setInterval lösen möchtest scheint mir nciht klar,
mein vorschlag wäre so vorzugehen:
du erstellst eine funktion mit dem krams der passieren soll, wenn das ende erreicht ist
dann setzt du dort im script wo er auf das ende warten soll eine onEnterFrame funktion, die jedes mal prüft ob das ende erreicht ist, in welchem fall sie deine endfunktion aufrufen würde...
in etwa so:
ActionScript:
1 2 3 4 5 6 7 8 9 10 11 12
// Im _root:
function endFunktion(){
// hier das Zeug dass erst nach erreichen des endes passieren soll
}
// An der Stelle im script, wo auf das ende gewartet werden soll:
_root.referenzen.onEnterFrame = function(){
if(_root.referenzen._currentframe == _root.referenzen._totalframes){
_root.endFunktion();
delete _root.referenzen.onEnterFrame;
}
}
Du hast natürlich vollkommen recht. Heut früh in der Dusche fiel mir ganz plötzlich auf, was das denn für ein Schwachsinn ist, den ich da fabriziert hab.
Ich werd Deinen Vorschlag gleich mal ausprobieren. Danke.