2017-04-20 35 views
1

我正在使用Rectangle类中的Intersects调用检查斯诺克球之间的碰撞 - 每个球都有一个定义其hitbox的Rectangle。如何在给定开始和结束时创建矩形路径矩形

我的代码是如何工作的是我有矩形代表白球的旧位置和一个新的位置。从这里我需要检查旧位置和新位置之间是否存在与另一个球的碰撞。

这是我希望得到一些帮助的地方,如果旧位置和新位置之间可能发生碰撞,创建路径/检查的最佳方式是什么?

图像表示

enter image description here

+0

你不能重叠当前位置的图像,然后寻找是否有碰撞或不? – harshkn

+0

不知道你在说什么。我从字面上有两个矩形 - 旧位置矩形和新位置矩形。没有其他信息,除了其他球的矩形列表。试图找出如何沿着路径移动旧位置矩形,它会检查每一步是否与任何事物发生碰撞。 – NeverImageProcess

回答

1

要测试两周界发生了碰撞,你可以两个圆的中心之间的距离比较半径的总和。如果距离较小,则发生碰撞。

对于矩形,可以使用Rectangle.intersects(矩形)到最后一个位置的图像

+0

我知道 - 碰撞本身不是问题。试图找出如何从旧位置到新位置是问题所在。如果一个框架有旧的位置,下一个框架有更新的位置,我需要看看新旧位置之间是否有另一个球。 – NeverImageProcess