AS3使用removeChild中的变量删除currentLevel

时间:2012-12-25 10:12:10

标签: actionscript-3 actionscript removechild

我有一个标识当前级别的字符串变量,当它达到此级别时会放在时间轴中。

var currentLevel:String = "level1";

我有一个在达到等级结束时调用的调度事件。

dispatchEvent(new Event("levelend", true));

我把它放到文档类中:

function proceedLevel(event:Event):void
    {
        removeEventListener("levelend", proceedLevel);
        SoundMixer.stopAll();
        removeChild(currentLevel);
        gotoAndStop(nextScene);
    }

每个级别都是这样调用的:

var level1:Level1 = new Level1();
level1.x = 0;
level1.y = 0;
addChild(level1);

每个级别都在自己的Movieclip中,但是当它到达该movieclip中时间轴的末尾时,它会调度事件“levelEnd”。文档类侦听然后尝试删除调用removeChild的实例。我添加字符串currentLevel并将其放入removeChild,希望尝试从文档类中删除它。

我收到此错误:

implicit coercion of a value of type to an unrelated type flash display    displayobject

我知道传递给removeChild的字符串并不高兴!

由于

1 个答案:

答案 0 :(得分:0)

您可以在创建关卡显示对象后添加另一个变量var currentLevelView:DisplayObject并在removeChild中使用它,或者您可以设置level1.name = currentLevel并将removeChild更改为{{1 }}