发生某些事情时播放声音的好方法?听起来如何?
因此,我一直在考虑我的课程在很多时候会变得多么单板。例如,在Character类的Jump方法中,可以引用声音效果对象并进行播放。就其本身而言,这很好,但是当考虑到物理,动画,碰撞等因素时,Jump方法将变得非常庞大,并且Character该类对许多不同的事物具有很多依赖性。不过,这可能很好。但是,如果我们不再希望角色跳跃时播放声音该怎么办?现在,我们必须在混乱的代码中找到特定的代码行,Jump并将其注释掉。 所以..我在想.. 相反,如果有某种AudioSystem类,而它所做的只是订阅它对其他类感兴趣的随机事件,那该怎么办?例如,Character类可能有一个Jumped事件(我想也是静态的),该事件Character在方法的类内引发。然后,Character班级对角色跳跃时播放的声音效果一无所知。那AudioSystem将是一个巨大的类,程序员可以撤退以通过使用静态事件将声音效果与游戏中发生的某些事件联系起来。然后,如果它得到太大,它可以在像子分离EffectsAudioSystem,BackgroundAudioSystem,AmbientAudioSystem,等等。 然后,在游戏的选项中,可以有一个复选框来启用或禁用这些声音,而要做的只是用一个简单的单个布尔标志禁用一个系统。系统的概念也可以扩展到物理,动画等方面,以至于玩家行为所导致的大多数游戏响应都通过这些精心设计和分离的系统进行连接。 好的,我的问题可能有点含糊,但是这种声音听起来如何?我真的从未听说过有关这种系统的很多讨论。目前为止,这一切都在我的脑海中进行,到目前为止,尚未进行任何编码,因此,这也许是“理论上不错,但实际上却不好”的交易之一。这种系统是否可以在更大的游戏上使用,还是最终会崩溃,甚至比原始系统更像是意大利面条般的混乱?