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に変更removeChildすることができますremoveChild(getChildByName(currentLevel))

于 2012-12-25T12:26:12.553 に答える