Wait-Funktion mit Action-Script 2.0
Ich bin erstellen einer website, die ein intro splash-Seite, wartet 5 Sekunden, bevor Sie automatisch senden Sie die Abspielposition zu Bild 17, wenn niemand geklickt hat, die enter-Taste, das gleiche zu tun.
Mein code für dies hier:
Funktion warten() {
stop();
var myInterval = setInterval(function () {
_level0.menu_number2 = 0;
gotoAndStop(17);
clearInterval(myInterval);
}, 5*1000); //- stop für 5 Sekunden
}
wait();
Dies alles funktioniert gut, aber wenn ich habe nicht gewartet und bin in der Website, bevor Sie 5 Sekunden, bis ich plötzlich wieder zu frame 17 ungewollt nach 5 Sekunden.
Nun, ich weiß, ich muss etwas in meinem code-Struktur zu überprüfen, um zu sehen, ob die Bedingungen haben sich geändert in diesen fünf Sekunden, die ich.e die Wiedergabe-Kopf hat sich bewegt über 15 Rahmen-und wenn so nichts zu tun, aber ich bin nicht sicher, was dieses etwas ist.
bitte helfen.
warum nicht mit setTimeout? greetz back2dos
InformationsquelleAutor | 2009-06-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diesen code: er verwendet einen so genannten Verschluss (schauen Sie, wenn Sie interessiert sind)
Sie könnten auch kleben Sie eine Globale variable irgendwo, und überprüfen Sie es, aber das belastet die globalen namespace.
InformationsquelleAutor zenazn
Konnte man immer nur clearInterval(myInterval), wenn Sie klicken Sie auf die Schaltfläche "überspringen". Oder wickeln Sie es in eine Funktion unnötig: Funktion stopwait(){ clearInterval(myInterval); };
Überprüfen Sie die frame-Nummern, die Sie verwenden könnten: if(_root._currentFrame < 17)
InformationsquelleAutor Eric Muyser
Ab Flash Player 8. es wird eine interne Funktion aufgerufen setTimeOut, die Sie verwenden können, um zu implementieren eine pause. Ich nehme an, intern ist es ein wrapper um die setInterval-Funktion etc. Es funktioniert wie folgt:
Der erste parameter ist die Funktion, die aufgerufen werden. Der zweite parameter ist die Wartezeit in Millisekunden an (1000 = 1 Sekunde) und der Dritte parameter ist optional und kann verwendet werden, um einen Wert übergeben, um den Anruf zurück.
InformationsquelleAutor Luke
Dachte, ich sollte dieses update-Problem, da war ich ein bisschen verfrüht vor.
Nach einigen Tests fand ich Zenazn code benötigt ein wenig mehr also habe ich die _currentFrame Linie von Eric Muyser und es funktioniert alles jetzt gut also danke nochmal an alle.
Hier ist das Actionscript:
InformationsquelleAutor
könnten Sie die tweenlite-Bibliothek http://blog.greensock.com/tweenliteas2/
dann, wenn jemand überspringt diese können Sie aufrufen,
das tötet die original delayedCall.
sehr einfach und kraftvoll.
Hoffe, das hilft,
Josh
InformationsquelleAutor Josh