0

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

4

3 回答 3

1

没有办法自动完成。您可以将整个游戏基于计时器(即使对于动画和物理)并暂停此计时器。但这是您在游戏设计过程中必须考虑的一个功能。现在我猜你只需要暂停每个电影剪辑,取消你的听众ENTER_FRAME并暂停你的计时器。

FlixelFlashPunk等许多游戏引擎都包含此功能

于 2013-08-26T08:23:49.033 回答
0

如果您不介意使用 FP 11.8 Beta,它天生具有递归停止所有影片剪辑的功能。在这里查看:

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

于 2013-08-26T17:06:37.907 回答
0

我在 as3 中执行此操作的方式是运行两个计时器,一个始终以大约 500 毫秒运行,另一个以随游戏速度变化的帧速率运行。就像是

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

当然,这是一个动态创建的基本示例,但您可以使用标准事件侦听器调用暂停或播放按钮。如果您的整个舞台都用完了计时器,它将全部停止。我使用了第二个计时器,但是它也不会停止并开始使用这些功能。你真的想要一些东西一直运行。

于 2013-08-26T14:48:15.390 回答