本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

非方形物体的碰撞检测

发布于2025-01-07 22:05     阅读(244)     评论(0)     点赞(26)     收藏(3)


我有一些使用矩形作为命中框的激光器,我会在游戏中检查它们与敌人的矩形命中框的交点。这很好用,但现在我正尝试实现一些 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 并测试它是否在激光和矩形的范围内



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/694781/17be1d827f2354adbdff/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

26 0
收藏该文
已收藏

评论内容:(最多支持255个字符)