r-typeのようなものを作っています。宇宙船、ミサイル、エイリアンを作成しましたが、衝突検出以外はすべて機能しています。実際のエイリアンが来て負けたと言う前に、プレイヤーと敵との衝突を約500ピクセルで記録するようです。
Board.java:
public void checkCollisions() {
Rectangle r1 = al.getBounds();
ArrayList missiles = Craft.getMissiles();
for (int w = 0; w < missiles.size(); w++)
{
Missile m = (Missile) missiles.get(w);
Rectangle m1 = m.getRect();
if (r1.intersects (m1) && al.Alive()) {
al.isAlive = false;
m.visible = false;
}
}
Rectangle c = p.getBounds();
if (c.intersects(r1)) {
lost = true;
}
Craft.java:
public Rectangle getBounds() {
return new Rectangle(x, y, width, height);
}
Enemy.java:
public Rectangle getBounds() {
return new Rectangle(x, y, width, height);
}
私が言ったように - ミサイルは完全に機能していますが、クラフトとエイリアンの間の衝突検出x = 458
は約 1100 ~ 1200 で検出されます。