XNA GameComponent.Initialize()没有被调用

我有一个游戏在其Initialize()方法中创建一个对象:

private GameComponent1 _thingy; protected override void Initialize() //Game1.Initialize() { base.Initialize(); _thing = new GameComponent1(this); } 

在GameComponent1类中:

  public GameComponent1(Game1 game) : base(game) { _game = game; game.Components.Add(this); } public override void Initialize() //GameComponent1.Initialize() { //Do stuff here base.Initialize(); } 

但是,在这种情况下,不调用_thingInitialize方法。 为什么是这样?

在Game1的Update方法中创建对象时,它performance良好。

交换这个命令:

 base.Initialize(); _thing = new GameComponent1(this); 

对此:

 _thing = new GameComponent1(this); base.Initialize(); 

我相信你之前需要初始化你的组件。