1

我正在尝试创建一个侧面滚动射击游戏原型,其中敌人和子弹的动作被计时。我正在努力的目标 bpm 是 120。

这显然是声音的时间安排,我已经开始尝试创建一个节拍器作为指导。我使用 getTimer 函数计算帧时间并累积该值,直到达到正确的时间(120bpm 为 500 毫秒),然后播放声音。

正如您可以想象的那样,这并没有给出恒定的结果,而是表明存在更好的选择。所以我的问题是,对于这种类型的游戏,最准确的声音计时方法是什么?这仅仅是时间问题吗?我正在使用 Haxe NME,我会不会离音频设备太远而无法足够快地播放声音?

4

1 回答 1

0

在不同的 NME 平台上播放 aSound会有不同的行为,包括不同的延迟。即使在普通的旧 Flash 中,Sound.play也不SoundChannel.position是很准确!

对于节奏游戏,您确实需要 NME 目前没有的低级音频控制。如果您的目标是 Flash,您可以使用SampleDataEvent动态混合音频并获得更准确的时间。有计划SampleDataEvent在未来添加对 NME 的跨平台支持(来源)。

于 2013-03-15T22:00:11.963 回答