Box2D中的力(applyImpulse和applyForce)

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));

我希望你能帮我翻译一下关于IT技术的内容。以下是需要翻译的内容:

两个问题导致的结果无法预测,我完全不理解。

请有人以五岁儿童的语言解释什么是ApplyImpulse? 我如何决定脉冲的强度和方向?互联网上似乎没有人解释这个问题。

请原谅我对物理知识的欠缺,我已经尝试了很多方法,但每次使用Box2d时都会遇到这个问题。

非常感谢!


你如何获得规模? - Gabber
1个回答

0

我认为问题可能是画布的位置,尝试将鼠标坐标替换为去除 canvas.left 后的值,这样或许可以解决问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接