javascript - box2d 力(applyimpulse 和 applyforce)

标签 javascript box2d physics

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

我想使用 applyimpulse 让我的 box2d body 朝应用点的方向跳跃(在本次尝试中为鼠标坐标)。它会到达所需点以外的任何地方...

以下是我目前的一些尝试:

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 时陷入困境。

非常感谢!

最佳答案

我认为问题可能出在 Canvas 的位置,将鼠标坐标替换为删除 canvas.left 就可以了

关于javascript - box2d 力(applyimpulse 和 applyforce),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10144081/

相关文章:

python - 在 sympy 中,使用规范交换关系简化表达式

unity-game-engine - 让物体向有过冲效果的位置移动?

javascript - 为什么一个数组填充了数据而另一个数组不在控制台 : [ ] and [ {. .} {..} ] 给定相同的数据集?

javascript - Polymer 1.0 数据绑定(bind) - Bug 或功能

javascript - underscore js - indexBy/countBy 多个值

java - Libgdx 接触夹具

java - LIBGDX - 碰撞问题和滑动效果问题

xcode - swift ,SpriteKit : Position Of Physic Body Wrong For SpriteNode When Using edgeLoopFromRect

javascript - Bootstrap 模态验证

java - Box2d 为什么物理碰撞不完美?