2011-12-22 13 views
-1
public class Team { 
    public int health; 
    public int x; 
    public int conflict; 

} 

public class Test extends Activity { 
    Team enemy[] = new Team[50]; 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 

      for(int i =0; i<enemy.length; i++){ 
      enemy[i].health = 0; 
      enemy[i].x = -100; 
      enemy[i].conflict = 0; 
      } 
     } 
} 

forループでは、私のゲームがクラッシュし、forループなしで実行されます。私は間違って何をしていますか?事前に助けてくれてありがとう!すべてのエントリがnullあるループ用オブジェクト配列

Team enemy[] = new Team[50]; 

:あなたは配列を作成

+1

-1いくつかの非常に単純なデバッグがこれを解決したためです。 –

答えて

5

。あなたが忘れてしまった

for(int i =0; i<enemy.length; i++){ 
    enemy[i] = new Team(); // <-- added 
    enemy[i].health = 0; 
    enemy[i].x = -100; 
    enemy[i].conflict = 0; 
} 
0

あなたは各反復の新しいチームのオブジェクトを作成する必要があり

Team enemy[] = new Team[50]; 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    for(int i =0; i<enemy.length; i++){ 
     enemy[i] = new Team(); 
     enemy[i].health = 0; 
     enemy[i].x = -100; 
     enemy[i].conflict = 0; 
    } 
} 
0

代わりに、次の操作を行いenemy[i]

をインスタンス化するために:あなたは、あなたのループで配列の各要素を初期化する必要がありますループの

for(int i =0; i<enemy.length; i++){ 
     enemy[i] = new Team(); 
     enemy[i].health = 0; 
     enemy[i].x = -100; 
     enemy[i].conflict = 0; 
     } 
0

あなたはelemenを初期化していません敵のts。

enemy[i] = new Team(); 

enemy[i].health = 0; 
enemy[i].x = -100; 
enemy[i].conflict = 0; 
関連する問題