0

我正在为 Epic Flash 游戏设计大赛http://www.youtube.com/watch?v=bpFBraUbHyo&list=UUfkxvxrvpNxXvdKusYS0NfQ&index=1在 Flash、AS3 中创建 RTS 游戏

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

如果我让每个音效都响起,缓冲区就会溢出,即使没有,听起来也会非常嘈杂和混乱。所以问题是,我在市场上见过像星际争霸这样的游戏,屏幕上有数百个单元,但声音却相当“无噪音”且有条理。请问那些人是怎么达到这个效果的?他们接受或过滤掉什么声音?

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

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

3) 最响的唯一模型:目前我的游戏有多种不同响度的声音,例如,爆炸声比枪声大。在这个模型中,正在播放最响亮的 32 个声音,如果进入前 32 个声音中的声音,则“踢”32 个中最低的声音并替换它。

哪种型号最好,或者您可以建议自己的型号=p。

4

1 回答 1

1

也许还考虑为“单一”和“大规模”事件使用不同的声音文件......

  • 1艘宇宙飞船 - 播放“单个宇宙飞船声音
  • 2 艘宇宙飞船 - 播放“单次飞船声音”两次
  • 3 艘或更多太空船 - 播放“许多太空船的声音

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

于 2012-12-27T11:25:56.043 回答