Initialize和LoadContent之间的XNA差异

本文关键字:XNA 差异 之间 LoadContent Initialize | 更新日期: 2023-09-27 18:03:45

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

Initialize和LoadContent之间的XNA差异

LoadContent的文档说明

这个方法由Initialize

调用

Initialize的文档状态

在从Game派生的类中,需要调用base。Initialize在Initialize中,它将自动枚举所有已添加到game中的游戏组件。组件并调用它们的Initialize方法。

所以基本的initialize方法将在任何内容被加载之前初始化游戏组件,LoadContent方法确保你的资源在适当的时间被加载。

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()中,以避免混淆。