如何使用按钮启动和停止循环并在启动时暂停

时间:2013-12-15 18:44:55

标签: actionscript-3 flash

你有脚本如下,问题是在一个循环后它停止播放。我想如果我按住按钮一直播放,在我释放鼠标按钮后它应该停止播放。

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

1 个答案:

答案 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

TimerEvent

PS:如果你使用TimerEvent,你应该在play_start()和play_stop()函数中启动()和stop()你的计时器对象。