2012-07-04 57 views
0

我正在使用沿着X軸來回移動的Flash對象創建Flash動畫。我想將對象從位置x = 10移動到位置x = 100,然後在x = 100的位置停留2秒,然後以相同的運動特性返回到初始位置。我正在使用Tween Classes,讓我改變方便等,我也使用Tween yoyo方法。問題是我不知道如何讓對象在第二個位置停留幾秒鐘(在返回到初始位置之前)並且我不知道如何停止yoyo事件。我希望物體來回移動,然後停留在初始位置,但是隨着它繼續重複運動(我假定我不應該使用yoyo方法...)。我重視你我到目前爲止的代碼:沿着X軸向前和向後移動Flash對象AS3

import fl.transitions.Tween; 
import fl.transitions.easing.*; 
import fl.transitions.TweenEvent; 

var myTween = new Tween(rectangle, "x", Strong.easeInOut, 100,300, 1, true); 

myTween.addEventListener(TweenEvent.MOTION_FINISH, onFinish); 
function onFinish(e:TweenEvent):void { 
myTween.yoyo(); 
} 

回答

0

你應該設定一個超時的onFinish方法。該代碼應該是這樣的:

import fl.transitions.Tween; 
import fl.transitions.easing.*; 
import fl.transitions.TweenEvent; 

var myTween = new Tween(rectangle, "x", Strong.easeInOut, 100,300, 1, true); 

myTween.addEventListener(TweenEvent.MOTION_FINISH, onFinish); 
function onFinish(e:TweenEvent):void { 
    var delay:int = 1000; 
    setTimeout(delay,reverse_tween); // delay - delay in milliseconds 
} 
function reverse_tween():void{ 
    myTween.yoyo(); 
    myTween.removeEventListener(TweenEvent.MOTION_FINISH, onFinish); 
} 

希望它可以幫助

+0

哎喲....當我嘗試它不工作。我用幾種方式修改它,但我不知道什麼是錯的,這是行不通的。有什麼建議麼? – Flowers

+0

首先,你能看到你得到的錯誤嗎?如果是,請在此處添加。其次,失敗的最可能原因是:myTween不是全局變量,所以reverse_tween函數不能訪問它 – Mircea