apache-flex - 在 Flex 中实现定时器循环是不是一个坏主意?

标签 apache-flex actionscript-3 performance

在我们的游戏项目中,我们确实将计时器循环设置为每秒触发大约 20 次(与应用程序帧速率相同)。我们用它来移动一些 Sprite 。 我想知道这是否会导致问题,我们应该使用 EnterFrame 事件处理程序来进行更新? 我的印象是,让计时器循环运行得比应用程序帧速率快可能会导致问题……是这样吗?

作为更新,尝试在 EnterFrame 上执行此操作会导致非常奇怪的问题。不是每 75 毫秒一帧,而是突然跳到 25 毫秒。请注意,不仅仅是我们的计算声称帧率不同,动画突然加速到了疯狂的速度。

最佳答案

我会选择 Enter 帧,在某些特殊情况下,有两个“循环”可能会很有用,一个用于逻辑,一个用于视觉效果,但对于大多数游戏,我坚持使用 Enter 帧事件监听器.有一个单独的计时器来移动你的东西有点不必要,因为将它设置为除帧率之外的任何东西都会使运动变得生涩或不可见(因为没有重绘帧)。

但是要考虑的一件事是将您的逻辑与帧速率解耦,这最容易通过使用 getTimer(在 as2 和 as3 中都可用)来计算自上一帧以来已过期的时间并调整运动或其他方式因此。

计时器并不比进入帧事件更可靠,flash 将尝试跟上您设置的任何速率,但如果您正在执行繁重的处理或复杂的图形,它会减慢计时器和帧速率。

关于apache-flex - 在 Flex 中实现定时器循环是不是一个坏主意?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/126385/

相关文章:

apache-flex - 如何将 xml 节点值绑定(bind)到 Flex 中的下拉数据字段?

apache-flex - Spark 组件上的 Halo 主题

flash - 具有自定义刻度和轴的 Flex 图表

actionscript-3 - 是否可以使用使用类型参数的 Haxe 编写 AS3 库?

php - 将 PHP 插入无法在线工作的 mySQL 数据库(通过 Flash 应用程序)

actionscript-3 - Google Chrome 中的 Flash 音频滞后

performance - 将 64 位加法拆分为两个 32 位加法

apache-flex - 在 ActionsScript/Flex 中测试未定义和 null 子对象

javascript - 将包含在对象内部的参数传递给函数是个坏主意吗?

c# - 对不同 DC 中的 Azure 表存储的请求变得越来越慢