XNA - 使用游戏组件

时间:2010-12-01 19:30:18

标签: c# design-patterns xna

什么时候应该使用游戏组件?它们用于什么,它们周围的设计模式是什么?

哪个更好:

  • 拥有背景组件,玩家组件,宇宙飞船组件和敌方组件的各种实例,每个组件负责更新和绘制自己;

  • 在游戏玩法屏幕类中拥有上述所有内容,管理所有内容。

说到游戏界面,game state management example似乎不是很模块化。是否更好地构建类似于示例的内容,我们一次编程整个屏幕而不是可重复使用的零碎,或者使用游戏组件来实现最大的模块化?

1 个答案:

答案 0 :(得分:3)

来自MSDN

  

游戏组件提供模块化方式   添加功能到游戏。您   通过派生来创建游戏组件   来自的新组件   GameComponent类,或者,如果是   组件加载并绘制图形   内容来自   DrawableGameComponent类。然后是你   添加游戏逻辑和渲染代码   通过覆盖的游戏组件   GameComponent.Update,DrawableGameComponent.Draw   和GameComponent.Initialize。一个游戏   组件是通过游戏注册的   将组件传递给   Game.Components.Add。已注册   组件将有其绘制,更新,   并初始化从中调用的方法   Game.Initialize,Game.Update,和   Game.Draw方法。

谈到这个例子,最好将你的组件分成单独的类。随着项目变得更大,这将使管理变得更加容易。

以下是另一个链接,其中包含有关GameComponent以及如何/何时使用它们的更多信息。