你有脚本如下,问题是在一个循环后它停止播放。我想如果我按住按钮一直播放,在我释放鼠标按钮后它应该停止播放。
stop();
import flash.events.MouseEvent;
function play_start(event:MouseEvent):void
{
play();
}
function play_stop(event:MouseEvent):void
{
stop();
}
left.addEventListener(MouseEvent.MOUSE_DOWN, play_start);
left.addEventListener(MouseEvent.MOUSE_UP, play_stop);
答案 0 :(得分:0)
您可以使用TimerEvent或EnterFrame事件。
以下是使用EnterFrame的方法。
var btn;//your button
btn.addEventListener(MouseEvent.MOUSE_DOWN, play_start);
btn.addEventListener(MouseEvent.MOUSE_UP, play_stop);
function play_start(event:MouseEvent):void{
addEventListener(Event.ENTER_FRAME, loopdeloop);
}
function play_stop(event:MouseEvent):void{
removeEventListener(Event.ENTER_FRAME, loopdeloop);
}
function loopdeloop(event:Event):void{
//do stuff
}
请记住,loopdeloop将执行你的swf的每一帧,这意味着如果你的swf是每秒30帧,loopdeloop函数将被调用每秒30次。
另请参阅:EnterFrame
PS:如果你使用TimerEvent,你应该在play_start()和play_stop()函数中启动()和stop()你的计时器对象。