由于某种原因,我的组件中没有调用LoadContent方法.例如,我有Game类,我在其中:
//Game.cs
protected override void LoadContent() {
editor = new Editor(...);
Components.Add(editor);
}
//Editor.cs
public class Editor : DrawableGameComponent{
Game game;
public Editor(Game game, ...):base(game){
this.game = game;
}
//THIS method never gets called!
protected override void LoadContent() {
background = game.Content.Load<Texture2D>("background");
base.LoadContent();
}
}
Run Code Online (Sandbox Code Playgroud)
有小费吗?
编辑:当你记住Initialize和LoadContent的顺序一切正常!
Ven*_*rix 14
我怀疑你的麻烦是由于Initialize功能. LoadContent被称为Initialize.您需要检查两件事:
base.Initialize().在上面的代码中,您将在LoadContentGame.cs 的函数中创建和添加组件,该函数在之后发生Initialize.验证类中的Initialize函数是否Editor正在调用基Initialize函数:
public override void Initialize()
{
base.Initialize();
}
Run Code Online (Sandbox Code Playgroud)查看Nick Gravelyn撰写的这篇博文,了解更多信息.与你的问题特别相关的是,在他的帖子中,尼克写道: