就像有问题一样,我不明白使用这些类有什么区别。每个类别的优点和局限性是什么?我读了很多教程,但仍然无法决定我应该做什么。
为了让事情更清楚,我得到了 AudioModule、AudioEmitterComponent 和 AudioListenerComponent。 (我们的游戏的inge是基于组件的。当你创建和对象是某些声音(怪物或某物)的来源时,我添加了发射器组件..然后我遇到了问题。我不知道如何做到最好。首先,我希望音频模块获得列表,对于听众来说也是如此(以及波和音库的列表)。现在我遇到了问题,不是编码本身(目前),而是概念什么、在哪里、何时、为什么。任何想法很有价值:)
考虑到SoundEffect
作为声音文件。您可以使用内容管理器加载它们。
And SoundEffectInstance
作为播放声音文件的程序。
SoundEffect
has a Play
方法。这只是为了方便。这在内部所做的是创建一个SoundEffectInstance
,播放它,然后在完成后进行清理。 (称为“即发即忘”。)
使用时SoundEffectInstance
(您创建的SoundEffect.CreateInstance
)您需要自己管理所有这些 - 优点是您可以在播放声音时操纵声音的属性(音量等)。您还可以循环播放声音、中途停止或暂停等。
当你完成你的SoundEffectInstance
,别忘了Dispose()
of it!
你可以做的另一件事SoundEffectInstance
(这完全是optional) 正在对其应用 3D 效果。这为您提供了一种将声音“放置”在 3D 空间中的简单方法。你apply3D效果使用SoundEffectInstance.Apply3D
(给它一个监听器和一个发射器,提供有关摄像机和声源的信息)。具体细节最好留给“将 3D 位置效果应用于声音 http://msdn.microsoft.com/en-us/library/bb447687.aspx” MSDN 上的文章。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)