HaxeFlixel - FlxSubState 意外的空对象引用

HaxeFlixel - FlxSubState unexpected null object reference

我正在尝试制作简单的游戏内菜单。我正在使用 FlxSubState class。首先,我尝试在按 Esc 后使用 openSubState(gameMenu); 在主游戏状态中调用子状态。

我的子状态 class 中有代码,此 class 继承 FlxSubState

override public function create():Void 
{
    super.create();     
    continueButton = new FlxButton(0,0, "Continue", continueGame);
    continueButton.x = FlxG.width / 2 - continueButton.width / 2;
    continueButton.y = FlxG.height / 2 - continueButton.height / 2;
    add(continueButton);
}

private function continueGame():Void
{
    close();    
}

问题是:每次点击 continueButton 后,游戏都会崩溃,并在 FlxTypedGroup 中出现空异常。我认为它在 close(); 方法中,但我真的无法弄清楚。谁能帮我 ? 或者建议更好的方法来实现游戏菜单?

自己想出来的。 看起来在关闭子状态后被销毁了。所以像这样

override public function create():Void
{
    super.create();
    gameMenu = new MySubstate();
}

与此一起使用

openSubState(gameMenu);

不会工作。

相反,我需要直接创建新的子状态

openSubState(new MySubstate());