如何在flash AS3中编码播放和暂停按钮



我用flash做了一个简单的游戏。它包括一个定时器、落下的物体和一个使用滑动控制的物体。那么,有没有一种方法可以用暂停按钮停止每一项活动,然后用播放按钮重新开始。基本上,我希望整个舞台暂停并使用按钮播放。

没有办法自动完成。你可以把整个游戏建立在一个计时器上(即使是动画和物理),并暂停这个计时器。但这是你在设计游戏时必须考虑的一个功能。现在我想你只需要暂停每一部电影,取消你的听众到ENTER_FRAME,暂停你的计时器。

许多游戏引擎,如Flixel或FlashPunk,都包含此功能

我在as3中这样做的方法是运行两个定时器,一个总是以500ms左右的速度运行,另一个以随游戏速度变化的帧速率运行。类似的东西

public var speedControl:int = 15;
public var tick:Timer;
public function timers():void{
    tick = new Timer(1000/speedControl);
    tick.addEventListener(TimerEvent:TIMER,tickd);
    tick.start();
}
public function tickd(t:TimerEvent):void{
    // the timer has ticked
}
public function pause():void{
    tick.stop();
}
public function play():void{
    tick.start();
}

这当然是一个动态创建的基本示例,但您可以使用标准事件侦听器调用暂停或播放按钮。如果你的整个舞台都超过了时间,一切都会停止。我使用了第二个定时器,但它不会停止和启动功能。你真的想让一些事情一直持续下去。

如果你不介意使用FP 11.8 Beta,它本身就具有递归停止所有电影剪辑的功能。点击这里查看:

http://labs.adobe.com/technologies/flashruntimes/flashplayer/

最新更新