Mouse Box2d:无惯性延迟的鼠标点

Mouse Box2d:无惯性延迟的鼠标点,mouse,drag,delay,box2d,Mouse,Drag,Delay,Box2d,我在box2d中使用mousejoint拖动实体,但它会导致惯性延迟 有没有任何方法可以瞬间拖动一个物体?我正在尝试在Processing/Box2d库中实现一个pong风格的游戏,我预计会遇到同样的问题。想到的一件事是在Box2d世界中保持一个隐藏对象,一个以传统方式使用关节的对象,然后绘制一个跟随鼠标的虚拟对象,没有帧延迟。这可能足以愚弄用户 另一方面,Box2d不是一个严格的物理模拟,允许在重叠对象中进行一些宽恕,因此似乎真的应该有办法做到这一点。解决方案是调整b2MouseJointDe

我在box2d中使用mousejoint拖动实体,但它会导致惯性延迟


有没有任何方法可以瞬间拖动一个物体?

我正在尝试在Processing/Box2d库中实现一个pong风格的游戏,我预计会遇到同样的问题。想到的一件事是在Box2d世界中保持一个隐藏对象,一个以传统方式使用关节的对象,然后绘制一个跟随鼠标的虚拟对象,没有帧延迟。这可能足以愚弄用户


另一方面,Box2d不是一个严格的物理模拟,允许在重叠对象中进行一些宽恕,因此似乎真的应该有办法做到这一点。

解决方案是调整b2MouseJointDef中的属性frequencyHz和dampingRatio

例如:

b2MouseJointDef md;
md.body1 = _groundBody;
md.body2 = body;
md.target = p;
md.maxForce = 10000.0f * body->GetMass();
md.dampingRatio = 0;
md.frequencyHz = 100;
_world->CreateJoint(&md);

box2d的原始版本:c++有关解决方案,请参见我的答案!谢谢工作完美。我在这里找到了一个mousejoint在处理中的用法示例:并根据您的建议对其进行了修改。我无法投票支持我自己的答案!请投票,让答案出现在最上面!我也不能。我需要“15个名声”之类的东西。我找了很久了。我试图通过触摸和拖动特定的身体来移动一个身体(在一个支持触摸的设备上)。但是我的编码方式,惯性延迟给我带来了很多问题。谢谢!