2015-01-04 57 views
0

我有两个组件,核心组件和可视化组件。核心组件完成所有的游戏逻辑并执行所有的客户端/服务器计算。该组件始终位于客户端和服务器端的对象上。视觉组件,获取信息或收集信息?

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

我的问题是,如果核心组件告诉可视组件,它需要的信息以及可视组件始终不知道核心组件存在,或者应该可视组件始终更新并从核心组件获取信息并让核心组件组件完全不知道存在的视觉组件?

回答

1

我认为最直接的方法是核心组件不应该了解可视化组件。可视化组件应该了解核心组件以便查询它,侦听事件,更新它等等。这种方式可以在不影响核心组件的情况下替换可视组件,并且如果您的系统可以支持许多不同的可视组件只要核心组件也是多平台的,就可以进行多平台游戏。此外,重要的是保持组件松散耦合。为了轻松替换组件,从松散耦合的方式开始设计系统。

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

+0

太棒了,谢谢:) – 2015-01-04 16:22:39