正确读入多数组 但读出阵列他搞砸了。 假设要对数组中的数组中的每个元素执行的操作,当2个数组中有更多索引时,他不会再这样做。
当2个数组中的第二个索引使得他不再对先前的索引执行此操作时,只有最后一个索引。
感谢
private var Enemy:Array = new Array();//1st array
private var EnemyHull:Array = new Array();
private var waves:Array = new Array();//2 array ==> array 1 get in this
private function enterFrame(e:Event):void
{
//Enemy Ai
for(var i2:uint; i2 < waves.length; i2++){
for(var i:uint; i < Enemy.length; i++){
waves[i2][i].x -= 1;//when a second index in 2 array i made he doesn't do this action anymore on previous index, only the last made index.
}
}
}
private function enemySpawnen(event:TimerEvent):void
{
for(var i:uint = 0; i < hoeveelheidEnemy;i++){
//
}
if(Enemy[i] != null){;
viewContainer.addChild(Enemy[i]);
//
}
}
waves[iwaves] = Enemy;
iwaves++;
}
function shoot(e:Event):void
{
//
try{
for(var i2:uint; i2 < waves.length; i2++){
for(var i:uint = Enemy.length-1; i >= 0;i--){
if(kogel.hitTestObject(waves[i2][i])){
//
}
}
}
}
}
catch(e:Error){
}
}
}
答案 0 :(得分:0)
你的for循环错过了一个重要的事情才能正常工作:你必须将迭代器(i或i2)初始化为起始值。
您写道:
for(var i2:uint; i2 < waves.length; i2++){
for(var i:uint; i < Enemy.length; i++){
waves[i2][i].x -= 1;
}
}
但你需要的是:
for(var i2:uint = 0; i2 < waves.length; i2++){
for(var i:uint = 0; i < Enemy.length; i++){
waves[i2][i].x -= 1;
}
}
不要忘记循环声明中的 = 0 !