gpt4 book ai didi

xna - SoundEffect 和 SoundEffectInstance 类之间的区别

转载 作者:行者123 更新时间:2023-12-04 10:30:16 25 4
gpt4 key购买 nike

就像有问题一样,我不明白使用这些类有什么区别。每个类的优点和局限性是什么。我阅读了很多教程,但仍然无法决定我应该做什么。

为了让事情更清楚,我得到了 AudioModule、AudioEmitterComponent 和 AudioListenerComponent。 (我们的游戏引擎是基于组件的。当您创建作为某些声音(怪物或某物)来源的对象时,我添加了发射器组件..然后我遇到了问题。我不知道如何做到最好。首先,我希望 Audio Module 获得 List,对于听众来说也是如此(还有针对 wave 和 soundbanks 的列表)。现在我遇到了问题,不是编码本身(目前)而是关于什么、哪里、什么时候、为什么的概念。任何想法很有值(value):)

最佳答案

想想SoundEffect作为声音文件。您可以使用内容管理器加载这些。

SoundEffectInstance作为播放声音文件的程序。
SoundEffect有一个 Play方法。这只是为了方便。这在内部做的是创建一个 SoundEffectInstance ,播放它,然后在完成时清理。 (被称为“火而忘记”。)

使用时 SoundEffectInstance (您使用 SoundEffect.CreateInstance 创建)您需要自己管理所有这些 - 优点是您可以在播放声音时操纵声音的属性(音量等)。您还可以循环播放声音、中途停止或暂停等。

当您完成您的 SoundEffectInstance ,别忘了Dispose()其中!

您可以用 SoundEffectInstance 做的另一件事(这完全是可选的)是对其应用 3D 效果。这为您提供了一种在 3D 空间中“放置”声音的简单方法。您可以使用 SoundEffectInstance.Apply3D 应用 3D 效果。 (给它一个监听器和一个发射器,提供有关相机和声源的信息)。这方面的确切细节最好留给 MSDN 上的“Applying a 3D Positional Effect to a Sound”文章。

关于xna - SoundEffect 和 SoundEffectInstance 类之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5499093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com