【问题标题】:AS3 Game loop and draw frameAS3 游戏循环和并条框
【发布时间】:2013-03-16 18:20:38
【问题描述】:

我正在为 AS3 中的学校制作游戏。我用计时器制作了一个游戏循环,这样这个游戏就可以运行得更快。

private var updateTimer:Timer;
updateTimer = new Timer(0);
updateTimer.addEventListener(TimerEvent.TIMER, update);
updateTimer.start();

private function update(e:TimerEvent):void {     }

这是可行的,但我的老师确实向我展示了一个函数/命令,我可以如何绘制/渲染一个框架。

因此,帧速率会上升。不幸的是,我丢失了该代码,并且在任何地方都找不到该功能。有谁知道这个功能?是的,我知道这种方式很不稳定。

非常感谢。

【问题讨论】:

  • 这似乎是个坏主意,Adobe 在文档中说:“不推荐低于 20 毫秒的延迟。定时器频率限制为每秒 60 帧,这意味着低于 16.6 毫秒的延迟会导致运行时问题。”你应该更喜欢将你的 frameRate 设置得更高,并为你的游戏循环使用标准的 ENTER_FRAME 事件。

标签: actionscript-3 loops frame render draw


【解决方案1】:

你在想TimerEvent.updateAfterEvent()吗?这会导致 Flash 在响应计时器或鼠标事件时立即独立于影片帧速率呈现新帧。

e.updateAfterEvent();

【讨论】:

    【解决方案2】:

    如果您只想更改游戏的帧速率而不弄乱计时器,您可以随时使用stage.frameRate 并从那里开始。所以如果你想提高帧率,就用stage.frameRate++;吧。

    【讨论】:

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