-1

I have checked out the following link:

http://www.ehow.com/how_12134402_detect-rectangle-collision-java.html

I have made the 2 rectangles around my player and house but am confused about what my if statement should look like, I have a boolean set on x meaning if my rectangles intersect x will return true so I know I start with

if(x=true){
    //what to type in here for my collision?
}

この衝突は、私の 2D 状態変更ゲームに必要です。キー入力で動き回るプレーヤーとマップ上の家があり、プレーヤーが家の中を歩けないようにしたいと考えています。

前もって感謝します。

4

1 に答える 1

1

Rectangle2D.Double rect = new Rectangle2D.Double(x,y,w,h))衝突ボックスを定義するために使用します。

次に、チェックします

rect.contains(x,y);

また

bool isCollision = rectOne.intersects(rectTwo);

またはより完全な例

// returns true at the first collision
// returns false if no collision with none of the houses
Rectangle2D.Double player = new Rectangle2D.Double(x,y,w,h);
Rectangle2D.Double[] houses = map.getHouseBounds();
boolean isAnyCollision = false;
int i = 0;
while (!isAnyCollision && cnt < houses.length) {
   isAnyCollision = player.intersects(houses[i]);
}
return isAnyCollision;
于 2012-12-13T21:02:31.440 に答える