我有一些激光器使用矩形的打击盒,在游戏中我检查敌人与矩形打击盒的交点。效果很好,但是现在我正在尝试实现一些30度角的激光器,我不知道如何有效地做到这一点。我不想对每个像素进行检测,因为我计划在屏幕上显示一些像素,这会很大。

任何帮助,将不胜感激。谢谢。

哦,我正在用Java for 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并测试它是否在激光切刀和矩形的范围内

07-28 12:32