0

我有两个组件,核心组件和可视组件。核心组件完成所有游戏逻辑并完成所有客户端/服务器计算。该组件始终位于对象上,包括客户端和服务器端。

然后我有可视化组件,它只是客户端。

我的问题是,核心组件应该告诉可视组件它需要的信息而可视组件完全不知道核心组件的存在,还是可视组件总是更新并从核心组件获取信息而让核心组件完全不知道视觉组件是否存在?

4

1 回答 1

1

我认为最直接的方法是核心组件不应该知道视觉组件。视觉组件应该知道核心组件,以便查询它、监听事件、更新它等。这样可以在不影响核心组件的情况下更换视觉组件,并且系统可以支持许多不同的视觉组件,如果你选择多平台游戏,只要核心组件也是多平台的。此外,保持组件松散耦合也很重要。为了轻松更换组件,从一开始就以松散耦合的方式设计系统。

如需灵感,请查看这些对 id 的一些开源游戏的优秀评论http://fabiensanglard.net/quake3/。我相信评论提到了每款游戏的架构。

于 2015-01-04T13:49:31.533 回答