我正在尝试创建一个侧滚动射击游戏原型,其中敌人和子弹的动作定时到一个节拍。我正在努力的目标bpm是120。
在这个中心显然是声音的时间,我已经开始试图创建一个节拍器作为指导。我使用getTimer函数来计算帧时间并累积此值,直到它到达正确的时间(120分钟为120bpm),然后播放声音。
你可以想象,这并没有给出一个恒定的结果,并表明有更好的选择。所以我的问题是为这种类型的游戏计时的最准确方法是什么?这只是时间问题吗?我正在使用Haxe NME,我是否可以远离音频设备以播放足够快的声音?
答案 0 :(得分:0)
播放Sound
在不同的NME平台上会有不同的行为,包括不同的延迟。即使在普通的Flash中,Sound.play
和SoundChannel.position
也不是很准确!
对于节奏游戏,你确实需要低级音频控制,NME当前没有。如果您定位Flash,则可以使用SampleDataEvent
动态混合音频并获得更准确的时序。有计划在未来向{NME}添加SampleDataEvent
的跨平台支持(source)。