box2d部队(applyimpulse和applyforce)

时间:2012-04-13 15:47:37

标签: javascript box2d physics

尽管在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工作时遇到困难。

非常感谢提前!

1 个答案:

答案 0 :(得分:0)

我认为问题可能是画布的位置,将鼠标坐标替换为删除canvas.left并且可以正常工作