Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

BreakOut Game

こんにちは。
私は最近からJAVAを独学で勉強しています。現在、BreakOut Game というのを作っています。 昔のゲームでボールを跳ね返して沢山ある長方形を消していくやつです。 今のところスクリーンに長方形を沢山並べるのと、跳ね返るボールまでは作ったのですが、ボールを長方形に当てると最初?の長方形はちゃんとスクリーンから消えるのですが、残りの長方形達はボールに反応してくれません。

どなたか、解決法を教えていただけないでしょうか?
参考までに抜粋したコードを載せますね。
長方形を並べるコード
private void setup(Color color){

 for (int i = 0; i<NBRICKS_PER_ROW; i++){
 int x = (WIDTH-((BRICK_WIDTH * NBRICKS_PER_ROW)+(BRICK_SEP*9)))/2 + (BRICK_WIDTH + BRICK_SEP)*i;
 int y = BRICK_Y_OFFSET;
 brick = new GRect(BRICK_WIDTH, BRICK_HEIGHT);
 brick.setFilled(true);
 brick.setColor(Color.RED);
 add(brick, x, y);
 }
}

private GRect brick ;
}  


これは、ボールが長方形があるか?あったら消す、そして跳ね返る。というコードです。
private void offTheScreen(){
 GObject collider = collinB();
 if(collider == paddle){
 yV = -yV;
 }

 if(collider == brick){
 yV = -yV;
 xV = -xV;
 remove(brick);
 }
}


こちらのサイトを利用するのも初めてですし、プログラミングも初心者です。もし質問内容がおかしかったすみません。

1

回答

3557

閲覧

1件の回答

評価

0

コードを抜粋するのはいいが、省くのは今回の事象に関係の
ないところだけにして、「そのまま動く」ことを念頭に。
そうでないと、回答しようと思っても動かしてみるためにコ
ードを補う必要がある。

あげられたコードから言えるのは、オブジェクトを==で比較
しているように見えるが、問題ないだろうか、という程度
だ。
「ボールが長方形があるか」は日本語からして意味が通らな
い。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。