【问题标题】:HaxeFlixel - FlxSubState unexpected null object referenceHaxeFlixel - FlxSubState 意外的空对象引用
【发布时间】:2015-02-01 18:14:29
【问题描述】:

我正在尝试制作简单的游戏菜单。我使用 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 出现空异常。我认为它在close(); 方法中,但我真的无法弄清楚。谁能帮我 ? 或者建议更好的方法来实现游戏菜单?

【问题讨论】:

  • 代码看起来不错,子状态是我做菜单的方式。使用haxelib list 获取您当前版本的内容列表,我将尝试重现崩溃。

标签: haxe haxeflixel


【解决方案1】:

我自己想出来的。 看起来关闭子状态后被破坏。所以像这样的

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

使用这个

openSubState(gameMenu);

不会工作。

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

openSubState(new MySubstate());

【讨论】:

  • 父状态也会有一个名为destroySubStates的成员变量。您可以将其设置为 false 并且当您关闭子状态时不应破坏它。
猜你喜欢
  • 2019-07-15
  • 2016-04-06
  • 1970-01-01
  • 2023-03-26
  • 2018-09-23
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多