非正方形物体的碰撞检测



我有一些激光器,它们使用矩形作为命中框,我在游戏中检查矩形命中框与敌人的交集。这很好,但现在我正在尝试实现一些30度角的激光器,我不知道如何有效地做到这一点。我不想做每像素检测,因为我正计划在屏幕上做一些检测,而且会太多。

如有任何帮助,我们将不胜感激。谢谢

哦,我在java中为android做这件事(不过不认为这有那么重要)

使用线性截距进行计算

   y = mx + c
   y2 = gx + d
   mx + c = gx + d
   mx - gx = d - c
   x(m - g) = d - c
   x => (d-c)/(m-g)

然后测试返回值是否在x的域中。找到x后,计算y并测试它是否在lazer和矩形的范围内

最新更新