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

Actionscript 3 如何使用按钮启动和停止循环,并在启动时暂停,actionscript-3,flash,Actionscript 3,Flash,您好,脚本如下,问题是,在一个循环后,它停止播放。我想,如果我一直按住按钮播放,在我释放鼠标按钮后,它应该停止播放 stop(); import flash.events.MouseEvent; function play_start(event:MouseEvent):void { play(); } function play_stop(event:MouseEvent):void { stop(); } left.addEventListener(MouseEve

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

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

您可以为此使用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次

另见:

PS:如果您使用TimerEvent,您应该在play_start和play_stop功能中启动和停止计时器对象