- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个名为 MetorideStorm 的小应用程序。这是一个非常简单的游戏,其中一些墙壁需要每秒向下移动。现在游戏需要变得更加困难,墙壁需要更快地折叠。我怎样才能做到这一点?我可以制作一个 float 并用它控制 NSTimer 吗?
从前,该游戏适用于 iPhone,但我不知道这是否重要。我对 iPhone 和 iPad 编程非常陌生,所以我还不太了解。
谢谢 - Frederik Witte
最佳答案
如果我要重新表述你的问题,我会这样说。我有一组墙,每堵墙都需要有一个基于难度的速度。在给定时间,每面墙的位置需要根据其速度进行更新。
一般来说,您不想改变此更新发生的时间,因为考虑帧速率,运动可能会开始看起来不稳定。如果您看过《学习 iPhone 和 iPad cocos2d 游戏开发》一书,Steffen Itterheim 甚至建议始终假设恒定的帧速率。争论的焦点是,在正常游戏过程中,您确实需要恒定的帧速率。在帧速率可能下降的情况下(例如,有一封电子邮件传入,iPhone 必须进行额外的处理),您不希望任何运动跳得太远。话虽这么说,最好在这么短的时间内,事情进展缓慢,然后恢复到用户中断之前的位置。
因此,与其改变 NSTimer 的间隔,不如改变移动的距离。设置一个变量来保存壁的速度。将计时器设置为合理的值(1/60 是一个不错的选择)。然后在计时器的回调中根据速度更新墙的位置。
当然,这仅适用于您正在滚动自己的游戏引擎的情况。如果您使用的是 cocos2d 那么您应该真正使用 CCDirector 的调度程序,因为当导演暂停/恢复等时使用您自己的 NSTimer 会导致问题...如果您不使用 cocos2d 我建议您研究一下它,因为它会为你处理这类事情。
关于iphone - 在 Xcode 中加速 NSTimer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5614068/
我和我的 friend 正在使用 turtle 开发 Python 游戏。我们的问题在定义 turtle 的部分。我们正在尝试加快每只 turtle 的速度,但当我们这样做时,默认速度运行。为什么会出
我是一名优秀的程序员,十分优秀!