我试图制作简单的游戏菜单。我使用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();
方法,但我真的无法弄明白。谁能帮我 ?
或者建议更好的方法来实现游戏菜单?
答案 0 :(得分:1)
自己想出来。 在关闭子状态被破坏后看起来像是这样。像这样的东西
override public function create():Void
{
super.create();
gameMenu = new MySubstate();
}
使用此
openSubState(gameMenu);
不会工作。
相反,我需要直接创建新的子状态
openSubState(new MySubstate());