【发布时间】:2013-06-20 02:36:17
【问题描述】:
我每隔几秒播放一次补间,一开始效果很好,但在补间进行到一半之前就开始紧张并重置。 知道为什么吗?我第一次运行动画时,计时器似乎也有更长的等待时间
import flash.events.Event;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.utils.Timer;
import flash.events.TimerEvent;
addEventListener(Event.ENTER_FRAME, move);
var signalTimer:Timer = new Timer(3000, 0);
function move(e:Event){
sender.x = mouseX;
sender.y = mouseY;
signalTimer.addEventListener(TimerEvent.TIMER, sendSignal);
signalTimer.start();
}
function sendSignal(e:TimerEvent){
signalTimer.stop();
var sigTween1X:Tween = new Tween(signal1, "x", None.easeOut, sender.x, mic1.x, 10, false);
var sigTween1Y:Tween = new Tween(signal1, "y", None.easeIn, sender.y, mic1.y, 15, false);
var sigTween3X:Tween = new Tween(signal3, "x", Strong.easeIn, sender.x, mic3.x, 7, true);
var sigTween3Y:Tween = new Tween(signal3, "y", Strong.easeOut, sender.y, mic3.y, 7, true);
}
【问题讨论】:
-
我猜这是一种累积效应:ENTER_FRAME 处理程序触发,它将另一个事件侦听器添加到 signalTimer 并启动它。然后,当计时器关闭时,它会为其运行所有补间的 TIMER 事件调用所有这些事件处理程序。
-
@mitim 我就是这么想的,但是有没有办法只添加一次监听器?
标签: actionscript-3 flash adobe