コードのこのセクションでは、ゲームのレベルがロック解除されているかどうかを確認しています。配列の「レベル」には12個のムービークリップが含まれ、「levelsUnlocked」はユーザーが到達した最高レベルです。したがって、このコードでは、レベル位置がlevelsUnlocked値よりも高いかどうかを確認し、そうである場合はフレーム2(ロックされた画像)に移動し、低い場合はフレーム1に保持します。
私の質問は:
elseステートメントで、levels [levels.length --i]を参照する場合、ムービークリップとしては扱われませんが、levels[1]またはlevels[3]として参照する場合は、ムービークリップとして扱われます。なぜこれが起こっているのか誰かに教えてもらえますか?
function unlockLevels():void
{
for (var i:int = 0; i < levels.length; i++)
{
if (levels.length - i > levelsUnlocked)
{
levels[levels.length - i].gotoAndStop(2);
}
else
{
levels[levels.length - i].gotoAndStop(1);
}
}
}