在构建HTML5游戏书中开发游戏时,碰撞是如何计算的

时间:2015-07-07 12:58:05

标签: javascript math 2d-games

我不理解作者在计算两个圆圈(气泡)之间的碰撞时登录。这是Calculating collisions部分。

作者写道:

  

被触发的气泡遵循一组由此定义的坐标   等式:

     

px = ex + tdx py = ey + tdy

     

其中px和py是气泡中心轨迹上的点   点。 px和py的计算发生在jQuery的animate方法中   并且是沿线移动点的标准公式。下一个,   我们将计算该线上最近点的t到中心   我们正在检查的泡沫:

     

var t = dx * distToBubble.x + dy * distToBubble.y;

我不明白t是什么以及为什么按以下公式计算:

var t = dx * distToBubble.x + dy * distToBubble.y;

1 个答案:

答案 0 :(得分:1)

这与编程很少或没有关系,绝对是数学。所以我认为这个问题不应该在这里,但我会回答它只是为了帮助你。

  

我不明白什么是t

被触发的气泡的移动线由parametric equation定义,其中参数是变量t

  

为什么按以下公式计算

这有点复杂,本书只是显示了以下计算的最终结果。有一个公式来计算点和线之间的距离。在这种情况下,该点是目标气泡的中心,并且该线由先前显示的参数等值表示。解决之后,您可以导出该等式以找到最小距离。

虽然有一种更简单的方法可以解决这个问题。在目标气泡的原点和射击气泡的坐标之间使用dot product和参数函数并将其等于0(垂直交点),你可以找到t的值。

这里重要的一点是,本书已经为您解决了问题,并且显示了最终结果,因此您可以使用它。

祝你好运!