【问题标题】:Collision detection for non-square objects非方形物体的碰撞检测
【发布时间】:2013-02-11 13:58:30
【问题描述】:

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

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

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

【问题讨论】:

  • 您能否提供有关所涉及几何的更多详细信息?图表会很有帮助。

标签: java android collision-detection


【解决方案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-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    • 2010-11-19
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多