0

我正在使用沿 X 轴来回移动的 Flash 对象创建一个 Flash 动画。例如,我想将对象从位置 x=10 移动到位置 x=100,然后在位置 x=100 停留 2 秒,然后以相同的运动特性返回到初始位置。我正在使用 Tween 类,它可以让我改变缓动等等,我也在使用 Tween yoyo 方法。问题是我不知道如何让对象在第二个位置停留几秒钟(在回到初始位置之前),我不知道如何停止 yoyo 事件。我希望对象来回移动,然后保持在初始位置,但是随着悠悠球它不断重复(我想我不应该使用悠悠球方法......)。我附上我到目前为止的代码:

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();
}
4

1 回答 1

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);
}

希望能帮助到你

于 2012-07-04T20:09:55.620 回答