Javascript box2d力(应用脉冲和应用力)

Javascript box2d力(应用脉冲和应用力),javascript,box2d,physics,Javascript,Box2d,Physics,尽管在box2d前花了几个小时,我仍然不明白applyforce和applyimpulse是如何工作的。我试着用一些视觉来更好地理解正在发生的事情(通过在身体位置和应用点之间画线),但是我尝试得越多,它就越没有意义 我想使用applyimpulse让我的box2d身体向应用点的方向跳跃(在本次尝试中是鼠标坐标)。它去任何地方,而不是理想的点 以下是我迄今为止的一些尝试: b.ApplyImpulse( new b2Vec2(g.mouseX/SCALE,g.mouseY/SCALE), new

尽管在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));
两者都会产生我完全不理解的不可预测的结果

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

请原谅我糟糕的物理背景,我尝试过很多不同的方法,这个问题几乎让我在任何时候都无法使用Box2d


非常感谢

我认为问题可能是画布的位置,用移除
画布来替换鼠标坐标。左
可以工作

如何获得缩放?