HaxeFlixel - 将 FlxTypedGroup 传递到另一个 FlxState 时出现问题

HaxeFlixel - issue with passing FlxTypedGroup into another FlxState

FlxTypedGroup 传递到新 FlxState 后,我从新状态收到此错误消息:

Invalid field access : length

我的代码:

在 GameState class 特定操作后:

FlxG.switchState(new EvaluationState(ingredients));

请注意 ingredientsFlxTypedGroup<Ingredient> 并且它不是空的。

在 EvaluationState 中:

var ingredients:FlxTypedGroup<Ingredient>;
public function new(i:FlxTypedGroup<Ingredient>) 
{
    super();
    ingredients = i;
}

override public function create():Void 
{
    super.create();

    for (ing in ingredients)
    {
        trace(ing.active);
    }   
}

调用 ingredients.members.

后,我也在 create() 函数中得到 null

有谁知道如何将 FlxTypedGroup 传递给新的 FlxState 而不破坏它?

切换的时候你的组貌似正在以另一种状态被摧毁

创建"ingredients"之前的状态如何?如果将组添加到最后一个状态,最可能的原因是切换时它调用 "destroy()" 成分。

在将 is 作为参数传递给 EvaluationState 之前尝试将其从状态中移除,看看这是否能解决您的问题。

currentState.remove(ingredients); //This should prevent a null members
FlxG.switchState(new EvaluationState(ingredients));