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());
我正在尝试制作简单的游戏内菜单。我正在使用 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());