6

四角形を動かし、空から落ちてくる他の四角形をかわすゲームを作成しました。ただし、長方形が交差するたびに何も起こりません。

if(mSquare.intersect(jSquare)){ canvas.drawColor(Color.BLACK);
また

collision = mSquare.intersect(jSquare);
     if(collision==true){  canvas.drawColor(Color.RED);
  }  this always returns false no matter where the rectangles are....... 
4

1 に答える 1

5

これを行うには多くの方法がありますが、最も簡単な方法は、メソッドを使用して衝突をチェックするために、タイム ステップRectごとに境界を取得することです。BitmapRect.intersect()

このようなもの:

boolean collision = player.getRect().intersect(fallingObject.getRect());

さらに、これを行う他の (より良い) 方法がたくさんあります。特に、四角形ではないオブジェクトを処理する場合や、画面上に多数のオブジェクトがある場合です。良い議論については、この投稿をチェックしてください

また、本「Beginning Android Games」には衝突検出に関する素晴らしい章があり、ゲームの作成を検討している場合は、この本を読む価値があります。

于 2012-02-29T02:47:07.617 に答える