我有一些激光器使用矩形作为命中框,我在游戏中检查与敌人的矩形命中框的交叉点。这工作正常,但现在我正在尝试实现一些角度为30度的激光器,我不知道如何有效地做到这一点。我不想做每像素检测,因为我计划在屏幕上有相当多的内容,而且会有很多。
任何帮助将不胜感激。感谢。
哦,我在java for android中做这个(不要认为它那么重要)
答案 0 :(得分: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并在lazer和矩形的范围内测试它