0

変数の更新に問題があります。以下では、メイン ドキュメント関数のレベルが 1 で、複数のタイルを生成しています。1 に等しいですが、var が true の場合にレベルを上げるという if ステートメントがあります。

    public var enemiesDefeated:Boolean = false;        
    addChild(level);
    //START THE GAME AT LEVEL 1//
    level.levelNumber = 1;
    if (enemiesDefeated == true){
        level.levelNumber += 1;
    }
    var tileh:int = 60;

    for (var Y:int=0; Y<floor.length; Y++)
    {
        for (var X:int=0; X<floor[Y].length; X++)
        {
                var cell:MovieClip = new Tile(X,Y);
            cell.gotoAndStop(floor[Y][X]);
            cell.x = ((X-Y)*tileh)+365;
            cell.y = ((X+Y)*tileh/2)+70;
            addChild(cell);

            cell.addEventListener(MouseEvent.CLICK, mouseclick);
            cell.addEventListener(Event.ENTER_FRAME, onGame);
            cell.addEventListener(Event.ADDED_TO_STAGE, addEnemy);
        }
    }

すべての敵を破壊すると、 onGame 関数で変数enemensDefeatedがtrueに変わりますが、enesDefeatedがtrueになった後、レベルはレベル1のままです。

function onGame(event:Event){

    ...

    if (enemy.enemyHP <= 0) 
        {
             removeChild(enemy);
             enemy.enemyDead = true;
             enemiesDefeated = true;
             trace("Dead", enemy.enemyDead);
        }
}

これを修正する方法はありますか?

4

0 に答える 0