0

マルチ配列は正しく読み込まれますが、彼がめちゃくちゃにした配列を読み取ります。配列内の配列から各要素に対して実行されると想定されるアクションであり、2つの配列内のインデックスがさらに作成されると、彼はそれを実行しなくなります。

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){

                    }
                }
            }
4

1 に答える 1

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を忘れないでください!

于 2012-11-12T21:28:06.077 に答える