我正在写游戏,有一个叫做GameManager的主类。我希望它尽可能抽象。在其内部,它具有其他类的对象,即Player和ItemManager。想象一下我在播放器中有一个功能,该功能可以检测播放器是否在某个区域内(检查x和y值)。例如,如果播放器在该区域中,我想生成一个项目createItem()。我将如何促进各班之间的交流?

最佳答案

一种可能性是observer pattern。在这种模式下,存在一个维护观察者列表的主题。当主题的状态发生变化时,它会通知观察者,观察者可以自由地做出自己认为适当的反应。在这种情况下,玩家是您的主题,而GameManager是观察者。当玩家的位置发生变化时,它会通知GameManager,后者可以生成一个物品或采取其他措施。

10-06 12:51