2012-01-10 18 views
0

私はJavaでSpace Invaders Cloneを作っています。私は、侵入者ループの動きと産卵を試して少し問題があります。私は彼らが育ち、画面の端を確認し、基本的な動きを持っていることを望みます。スペースインベーダークローンの動きと産卵ロジック

私は単なるオブジェクトの場合にイメージを移動する方法を知っていますが、明らかに複数のものになります。私は個々のものを個別に動かす必要はありません。それは、コードが面倒で、たくさんの遅れを招くからです。

基本的に私のpaintComponent(Graphics g)メソッドにロードされる画像のグループです。だから、これらの画像を生成し、元のSpace Invadersのようにそれらを移動させることができる基本的なループがあればそれは素晴らしいでしょう!

これまでのところ、私はそうのようなインベーダー塗っています:

g.drawImage(invaderGreen.draw(), 100, 100, this); 
g.drawImage(invaderGreen.draw(), 100, 100, this); 
g.drawImage(invaderGreen.draw(), 100, 100, this); 
g.drawImage(invaderGreen.draw(), 100, 100, this); 
g.drawImage(invaderGreen.draw(), 100, 100, this); 
//etc etc. 

(。私はXとYの変数を変更する必要が承知しています、これは単なる一例です)

+0

List<InvaderGreen> invaders = new ArrayList<InvaderGreen>(); ... //spawn intial game state invaders.add(new InvaderGreen(...)); //Hint: loop if you are creating 1+ 

そして、ループを使って画面を描画ゲーム状態&を更新これまでに何を試しましたか?何を試したのか、あなたの具体的な問題点を記入してください。 – Deco

+0

ポストを編集してコードを追加しました。 –

答えて

0

ストア内のあなたの侵略者リストまたは配列

for (InvaderGreen oneInvader : invaders){ 
    oneInvader.move(); // let every invader calculate its new position 
    oneInvader.drawSelf(graphics); //let every invader draw itself using Graphics g 
} 

あなたはGameStateオブジェクトのいくつかの種類を作成したいとmoveメソッドにそれを渡すことがあります: oneInvader.move(gamestate);

+0

この質問は1年半前ですが、私はもはや答えを必要としません、あなたの提案に感謝します。 –