RTS游戏的声音管理器

时间:2012-12-27 11:04:44

标签: actionscript-3 flash audio

我在flash中创建一个RTS游戏,AS3用于Epic Flash游戏设计竞赛http://www.youtube.com/watch?v=bpFBraUbHyo&list=UUfkxvxrvpNxXvdKusYS0NfQ&index=1

几乎完成了,除了创建管理所有声音的类是非常痛苦的。 基本上,在缓冲区溢出之前,AS3只有32个可用的SoundChannel。但不幸的是,我的RTS同时处理了几十个单位的战斗,每个单位,特别是步枪士兵一次多次射击。

如果我让每个声音效果都响起,缓冲区会溢出,即使它没有,它听起来会非常嘈杂和凌乱。 所以问题是,我在市场上看到像星际争霸这样的游戏,屏幕上有数百个单位,但声音非常“un”“并且井井有条。我想问一下这些人是如何取得这种效果的?他们接受或过滤掉了什么声音?

目前我有3种可能的型号: 1)先进先出模型:接受所有正在播放的声音,但一旦达到缓冲限制,缓冲区中最早的声音就会静音。

2)接受或拒绝模型:接受所有声音直到缓冲区溢出,然后拒绝所有进一步播放,直到声音结束并且缓冲区清空。

3)最响亮的模型:目前我的游戏有各种不同响度的声音,例如,爆炸比枪声效果更响亮。在这个模型中,正在播放最响亮的32个声音,如果声音进入前32个中,则32个中的最低声音被“踢”并且声音取代它。

哪种型号最好,或者你可以推荐你自己的型号= p。

1 个答案:

答案 0 :(得分:1)

也许可以考虑使用不同的声音文件进行“单一”和“大众”活动...

  • 1艘太空船 - 播放“单一飞船声音
  • 2艘太空船 - 两次播放“单一飞船声音
  • 3艘或更多太空船 - 播放“许多太空船发出声音

...按类型对缓冲区中的声音进行分组可能是一个好主意,因为如果有太多的声音,你可以轻松地使一个“太空飞船声音”静音,而不会使其他元素静音。