変数の更新に問題があります。以下では、メイン ドキュメント関数のレベルが 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);
}
}
これを修正する方法はありますか?