在MVC Java游戏中放置声音的位置?

时间:2017-12-02 18:22:15

标签: java audio design-patterns model-view-controller layer

我正在使用 MVC设计模式开发Java应用程序,现在我想播放一些声音。我应该在哪里使用代码播放音频声音? MVC

的哪一层

在用户按下某个键后应播放一些声音,以便将其包含在Controller中。然而,一些声音在一段时间后播放,没有用户交互,只有模型知道这种变化。但是把模型中的声音听起来像是一个坏主意,所以...它怎么能解决?

1 个答案:

答案 0 :(得分:0)

Sound Play与MVC模式不同。

它与MVC中的View有一些相似之处,因为它还为用户提供了一些信息。但它更简单。声音模块不能消耗用户输入,因此它不需要控制器。

我建议您实施应用Observer pattern 的声音模块。您的模型生成事件,声音模块订阅这些事件。它将以与View模块完全相同的方式订阅。

让我举个例子。让我们假设你有一个关闭枪的玩家。 在内部,您的模型将生成说ShutGunEvent。 View和Sound都将订阅此活动。视图将绘制飞行的子弹,声音将播放枪声。