Ich arbeite in ActionScript 3 mit einer Greensock TweenMax-Timeline. Ich habe einen einseitigen Scroller mit zwei Tasten (zurück nach oben und Stop/Play-Taste). Der Scroller spielt automatisch onLoad mit einer Verzögerung von 4 Sekunden. Wenn ich die Stop/Play-Taste drücke, wird die Verzögerung nicht gestoppt. Ich muss die ganzen vier Sekunden warten, bevor es funktioniert. Auch die Verzögerung von 4 Sekunden tritt nur auf, wenn der Scroller zum ersten Mal läuft. Wie kann ich die Verzögerung von 4 Sekunden jedes Mal, wenn der Scroller wiederholt wird, erhalten? Wie kann ich mit der Stop/Play-Taste die Verzögerung aufheben und abspielen? Ich habe zwei Tage daran gearbeitet und verschiedene Techniken (für Schleifen, Timer, verzögerte Anrufe usw.) ohne Erfolg ausprobiert. Wenn jemand Ideen hat, werde ich es sehr schätzen.Wie überschreibe ich eine Verzögerung in TweenMax?
1) Code, der die Timeline beginnt:
myTween = new TweenMax(content_mc, 60, {delay:4, y:22, ease: Power0.easeNone, onComplete: restartFromTop });
2) Diese Funktion steuert die Stop/Play-Taste
private function toggler(e:MouseEvent = null):void
{
if (playState == true){
toggleBtn.gotoAndStop(2);
myTween.pause();
playState = false;
trace("MC is now paused and stopped");
}
else if(playState == false) {
myTween.resume();
toggleBtn.gotoAndStop(1);
playState = true;
trace("MC is resumed from pause");
}
}
3) Mit dieser Funktion das Neustarten des Scrollers steuert, wenn es wiederholt.
private function restartFromTop():void
{
myTween.restart()
playState = true;
}
4) Diese Funktion gibt die nach oben-Taste steuert
private function backToTop(event:MouseEvent):void
{
myTween.reverse();
if (playState == true){
myTween.restart();
myTween.resume();//stop animation
//toggleBtn.gotoAndStop(2);//changes button to pause
toggleBtn.buttonMode = true;
trace("page is scrolling");
}
if (playState == false){
myTween.restart();
myTween.pause();//stop animation
trace("play button is paused");
trace(timer);
}
//Adds a hand cursor on the button and adds a click event to the button.
toggleBtn.buttonMode = true;
toggleBtn.addEventListener(MouseEvent.CLICK, toggler);
}
Vielen Dank. Es hat definitiv geholfen :) – latoyale