我有两个组件,核心组件和视觉组件。核心组件负责所有游戏逻辑和所有客户机/服务器计算。此组件始终位于对象上,包括客户端和服务器端。
然后我就有了可视组件,它仅限于客户端。
我的问题是,核心组件应该告诉可视化组件它所需要的信息,而视觉组件完全不知道核心组件的存在,还是视觉组件应该总是从核心组件中更新和获取信息,并且核心组件完全不知道视觉组件的存在?
发布于 2015-01-04 13:49:31
在我看来,最直接的方法是核心组件不应该知道视觉组件。可视化组件应该了解核心组件,以便查询它、侦听事件、更新它等。这样,视觉组件就可以在不影响核心组件的情况下被替换,而且只要核心组件也是多平台的,系统也可以支持多平台游戏中的许多不同的可视组件。此外,保持组件松散耦合也很重要。为了方便地替换组件,从一开始就以松散耦合的方式设计系统。
要获得灵感,请查看id的一些开源游戏http://fabiensanglard.net/quake3/的精彩评论。我相信评论提到了每个游戏的架构。
https://stackoverflow.com/questions/27766017
复制相似问题