我正在 PSM Studio 中为 2D 游戏做一些简单的碰撞检测。
我目前的方法涉及遍历每个游戏对象并找到另一个游戏对象之间的距离,然后查看两者是否在一定距离内(通常是每个对象组合宽度的 1/2)。如果是,则认为它们已发生碰撞。
虽然这种方法在许多情况下都有效,但它有一个主要的后备方案。如果一个物体以这样的速度移动,使得每帧的移动大于潜在碰撞物体的宽度(即快速移动的射弹朝向敌人),则该物体将基本上传送到另一个物体上,即使它们会发生碰撞,他们没有。
我正在考虑创建一种在两条线段上测试两个粒子的方法。线段将由更新期间每个对象的开始结束位置组成。
知道每个物体的极地运动(角度和大小)以及它们各自的线段,我能否计算出这两个粒子是否在那个神奇的距离内,这意味着它们已经发生了碰撞?