0

我有一个物理体(气球),我正在施加碰撞脉冲。

我想要的是,当“玩家”与气球碰撞时,它应该向上移动(效果很好),但它应该根据气球的形状在被击中时采取一些角度。它不应该总是垂直向上移动。

只有当击中气球的最顶部时,它才应该笔直向上移动。在其他情况下,它应该以某个角度向上移动。我怎样才能做到这一点?

4

1 回答 1

1

根据我认为您的要求,这是一种方法:

您可以从两个对象(您的播放器和气球)的位置找到撞击角度。所以你得到了 balloon.x、balloon.y、player.x、player.y。

-- Two sides of a triangle opp and adj to the angle
sideO = balloon.y-player.y  -- the opposite side
sideA = balloon.x-player.x  -- the adjacent side

-- To get the angle
angle = math.atan(sideO/sideA)

这可能与您想要的相反。如果它只是尝试 player.x-balloon.x 代替(y 相同)。

这就是我得到数学的地方。 此外,lua 数学库

于 2012-06-07T03:30:47.820 回答