Initialize和LoadContent之间有什么区别?我试图通过将事物从LoadContent移动到Initialize并返回来制动XNA游戏,但只要你以适当的方式调用事物,无论我把它放在哪里都能正常工作。
答案 0 :(得分:4)
documentation for LoadContent
表示
此方法由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()
(一般来说)。
换句话说,初始 LoadContent()
语句可以放入Initialize()
,但问题是当您要加载时初始化完成后重新加载或卸载的内容。
简而言之:将所有加载的内容保存在LoadContent()
中,以避免混淆。