我不是游戏,因为我找不到用于检测与旋转矩形的碰撞的良好碰撞检测方法,我决定尝试这样的事情: 我有一个旋转的矩形(我想我可以得到它的角'坐标(如果需要,可能是CGRect或三角函数的某些功能) 我希望获得连接两个角的线上的所有坐标(即使只是int值,或者具有一定的增量,因此它不会太长)并将它们放入一个数组中。然后我可以检查球的包含矩形,其边界矩形不旋转)如果它包含数组的任何点。如果是的话,他们相撞了。
有没有一种简单的方法可以将这些坐标放入数组中?假设我知道开始和结束? 我知道它不会很有效,但是现在我正在使用OpenGL颜色检测,它太慢了,而且效果不好,所以我需要一种新的方法。
谢谢!
答案 0 :(得分:1)
您已经通过矩形边缘获得了线条。只需拿走你4角的X,Y坐标,就可以得到4条线。
一般情况下,碰撞你几乎总能找到一种方法来伪装它,如果你真的需要的话,我只会使用旋转的矩形来解决碰撞,很多时候你可以采取看起来像矩形的东西而且只是给它是圆形碰撞。
如果您坚持使用旋转的rect另一种方法,您可以尝试将反向旋转应用于两个对象,然后检查碰撞。因此,如果将矩形旋转45度,则将矩形向后旋转-45度,使其与轴对齐,然后还将圆心旋转-45度。现在,您可以使用更简单的碰撞。
你可以在这里获得更多: Circle-Rectangle collision detection (intersection)