0

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

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);

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

我收到此错误:

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

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

谢谢

4

1 回答 1

0

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

于 2012-12-25T12:26:12.553 回答