为什么在游戏组件中使用base.LoadContent

时间:2012-01-30 10:00:42

标签: .net xna

为什么游戏组件会调用base.LoadContent()?当我删除对Base的所有此类调用时,我的游戏工作正常吗?

我认为,base.Update()base.Draw()用于保持组件与游戏同步。这是正确的还是其他原因?

由于

2 个答案:

答案 0 :(得分:2)

在XNA基本游戏模板中你需要注意的唯一基础是对base.Initialize()的调用。其余的人在基础游戏类中调用空方法,可以删除,没有任何后果/意外行为。

有关基础游戏课程的详细信息及其操作顺序以及幕后发生的事情,Nick Gravelyn在前一段时间做了很棒的写作,引导您完成所有操作。你可以在这里阅读 - > http://blog.nickgravelyn.com/2008/11/life-of-an-xna-game/

答案 1 :(得分:0)

基类GameComponent在窗帘后面做了很多不那么明显的事情,没有你意识到这一点。您必须确保始终调用基本方法(除非您非常清楚自己在做什么),以便游戏组件处于XNA所期望的状态。在LoadContent的特定情况下,我认为不会遗漏任何内容,但我无法保证。

例如,在Initilize的情况下,GameComponent.Initialize()是负责调用this.LoadContent()的方法,所以不包括在派生类中调用base.Initialize()会阻止你的游戏加载任何图形,字体等,除非你自己做。

同样重要的是要注意,您稍后可能会将对象向下移动到组件层次结构中,然后您必须将所有调用添加到您最初未包含的基础。