HaxeFlixel - FlxSubState意外的空对象引用

时间:2015-02-01 18:14:30

标签: haxe haxeflixel

我试图制作简单的游戏菜单。我使用FlxSubState类。首先我尝试在按Esc后使用openSubState(gameMenu);在主游戏状态下调用子状态。

我的子类中有代码,此类继承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都会出现null异常。我认为它在close();方法,但我真的无法弄明白。谁能帮我 ? 或者建议更好的方法来实现游戏菜单?

1 个答案:

答案 0 :(得分:1)

自己想出来。 在关闭子状态被破坏后看起来像是这样。像这样的东西

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

使用此

openSubState(gameMenu);

不会工作。

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

openSubState(new MySubstate());