Java2D距离碰撞检测

3

我的当前设置只有在发生碰撞后才有用;显然,必须有比这更好的东西吧?

public boolean CollisionCheck(Rectangle rect1, Rectangle rect2) {
   if(rect1.intersects(rect2)) {
      return true;
   }
   return false;
}

如何进行预防性碰撞检测?
1个回答

0

通常,您预先计算一步,就像这样:

在矩形类内部:

public void move()
{
    rec.x += rec.dx
    rec.y += rec.dy
}

那么,

public boolean CollisionCheck(Rectangle rect1, Rectangle rect2) {
   rec1.move();
   rec2.move();
   if(rect1.intersects(rect2)) {
      return true;
   }
   return false;
}

哈。Travis在我之前回答了。很高兴看到SO已经更新了答案通知。


是的,不过我觉得你的方法更好;我之前不知道如何“预测”移动;所以才发帖求助。谢谢。 - anon235370
没问题。如果你需要灵活性,你也可以连续调用move()CollissionCheck()。对于一个有用的问题给予+1。 - Xavier Ho

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接