3

尽管在 box2d 前花了几个小时,我仍然不明白 applyforce 和 applyimpulse 是如何工作的。我尝试使用一些视觉效果来更好地理解正在发生的事情(通过在身体位置和应用点之间划线),但我尝试的越多,它就越没有意义。

我想使用 applyimpulse 让我的 box2d 身体朝应用点的方向跳跃(在此尝试中为鼠标坐标)。它除了所需的点之外的任何地方......

到目前为止,这是我的一些尝试:

b.ApplyImpulse(
new b2Vec2(g.mouseX/SCALE,g.mouseY/SCALE),
new b2Vec2(b.GetPosition().x,b.GetPosition().y));

和相反的

b.ApplyImpulse(
new b2Vec2(b.GetPosition().x,b.GetPosition().y),
new b2Vec2(g.mouseX/SCALE,g.mouseY/SCALE));

两者都会产生我完全不理解的不可预测的结果。

请有人像我 5 岁一样向我解释 ApplyImpulse 吗?如何确定冲动的强度?和方向?似乎没有人在互联网上解释这一点。

请原谅我可怜的物理背景,我尝试了许多不同的方法,这个问题几乎让我在使用 Box2d 的任何时候都陷入困境。

提前谢谢了!

4

1 回答 1

0

我认为问题可能是画布的位置,用删除替换你的鼠标坐标,canvas.left它可以工作

于 2012-09-17T21:57:43.767 回答