XNA Initialize和LoadContent之间的差异

时间:2014-05-15 13:30:34

标签: c# xna initialization sprite

Initialize和LoadContent之间有什么区别?我试图通过将事物从LoadContent移动到Initialize并返回来制动XNA游戏,但只要你以适当的方式调用事物,无论我把它放在哪里都能正常工作。

2 个答案:

答案 0 :(得分:4)

documentation for LoadContent表示

  

此方法由Initialize

调用

documentation for Initialize

  

在派生自Game的类中,您需要在Initialize中调用base.Initialize,它将自动枚举已添加到Game.Components并调用其Initialize方法的任何游戏组件。

因此base initialize方法将在加载任何内容之前初始化游戏组件,LoadContent方法确保在适当的时间加载您的资源。

答案 1 :(得分:1)

Game.Run()(请参阅 Program.cs ,即game.Run())是运行的方法:

1)Game.Initialize()(调用Game1.Initialize()和初始Game1.LoadContent())。

2)Game.BeginRun()(调用Update()Draw()和后续LoadContent() / UnloadContent()(一般来说)。

MSDN - Game Class

换句话说,初始 LoadContent()语句可以放入Initialize(),但问题是当您要加载时初始化完成后重新加载或卸载的内容。

简而言之:将所有加载的内容保存在LoadContent()中,以避免混淆。