現在のレベルを識別する文字列変数があります。これは、このレベルに達するとタイムラインに配置されます。
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に渡されることに満足していないことを私は知っています!
ありがとう