19

我为Android写了一个游戏,我在Dev Phone 1上测试过。它运行完美,速度刚刚好。但是,我确信手机 CPU 的速度会越来越快。它们可能已经比开发手机更快了。

无论使用什么设备或运行速度有多快,我如何确保我的游戏以完全相同的速度运行?你知道什么技巧吗?我应该每次在循环顶部检查某种计时器吗?

我想我指的是帧速率——但主要是我的游戏在主游戏循环中运行的速度。

任何理论或经验都会很棒!谢谢你。

4

1 回答 1

15

如果您的目标是特定的帧速率,基本的想法是您应该有一个计时器或线程,以所需的时间间隔执行游戏的 tick 方法。使用定时器,实现非常简单:只需安排一个定时器定期执行。使用线程时,如果线程运行速度快于所需的帧速率,则必须在连续滴答之间让线程休眠。

但是,仅此一项并不能带来最佳结果,因为帧之间的间隔可能会有所不同。关于这个问题有一篇非常好的文章:http: //gafferongames.com/game-physics/fix-your-timestep/

此外,已经有比开发手机 1 更慢和更快的 Android 手机。因此,如果您针对所有 Android 设备,则必须为这两种情况做好准备。如果您的游戏 CPU 不是那么重,那么您可能可以在所有设备上实现所需的帧速率。但是如果你不限制帧率,你的游戏在速度更快的安卓手机上会太快。

于 2010-02-15T11:06:48.650 回答