1

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

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

哦,我在 java 中为 android 做这个(虽然不认为这很重要)

4

1 回答 1

1

使用线性截距计算

   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 并测试它是否在激光和矩形的范围内

于 2013-02-11T05:48:01.670 回答