我正在制作类似 r-type 的东西;我制作了宇宙飞船、导弹、外星人,除了碰撞检测之外,一切都在工作。在真正的外星人出现并说我输了之前,它似乎在大约 500 像素内记录了玩家和敌人之间的碰撞。
板子.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;
}
工艺.java:
public Rectangle getBounds() {
return new Rectangle(x, y, width, height);
}
敌人.java:
public Rectangle getBounds() {
return new Rectangle(x, y, width, height);
}
正如我所说 - 导弹工作得很好,但飞船和外星人之间的碰撞检测检测到x = 458
,而它应该在大约 1100 到 1200 之间。