【问题标题】:How to start and stop loop with a button and pause on start如何使用按钮开始和停止循环并在开始时暂停
【发布时间】:2013-12-15 18:44:55
【问题描述】:

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

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

【问题讨论】:

    标签: actionscript-3 flash


    【解决方案1】:

    您可以为此使用 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() 函数中 start() 和 stop() 你的计时器对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多