Aaz*_*dul -1 java collision-detection collision
现在,我可以比较 X 和 Y 来检查是否发生碰撞,但前提是两个对象在完全相同的 X 和 Y 位置上相互穿过。我需要更精确地检查碰撞,检查略读,因为缺乏更好的术语。我有 X、Y、X 和 Y 尺度的变量以及 X 和 Y 的速度。非常感谢任何帮助:D
编辑:正方形!
如果你的方块不能旋转,这很简单:说double r是每条边的长度,Point p1是一个方块的中心,p2是另一个方块的中心。然后:
if (Math.abs(p1.x - p2.x) < r && Math.abs(p1.y - p2.y) < r) {
// Collision
}
Run Code Online (Sandbox Code Playgroud)
更复杂的情况是正方形是否可以旋转。在这种情况下:将对象的每个边缘视为一条几何线(如果知道角点的坐标,则可以轻松计算每条线的方程)。
接下来,找到每对线的交点(每条线都来自一个方格,与另一条线相对),并测试该点是否在其中一个方格内。如果这些比较之一返回 true - 发生了冲突。
| 归档时间: |
|
| 查看次数: |
4337 次 |
| 最近记录: |