1

我正在使用 MouseJoint 来拖动对象。但是物体的运动太慢了。

在此处输入图像描述

我需要以鼠标的速度移动它们。目前,我将这些设置用于MouseJointDef

MouseJointDef def = new MouseJointDef();
def.bodyA = groundBody;
def.bodyB = hitBody;
def.collideConnected = true;
def.target.set(testPoint.x, testPoint.y);
def.maxForce = 10000.0f * hitBody.getMass();
def.frequencyHz=100;
def.dampingRatio=0;

这些用于身体:

 Body box = world.createBody(def);
 MassData mass = new MassData();
 mass.mass=100;
 //mass.I=1; What is it???
 mass.center.set(width/2, height/2);
 box.setMassData(mass);

我该怎么办?

4

1 回答 1

2

如果您的游戏宽度和高度太大,例如 800x480 或其他东西,则将其除以 40,例如... 20x12 ....

这是因为 box2d 速度限制为 2 个单位。你想要的是每个时间步更多的单位,但你的屏幕太大而无法实现..所以如果你缩短你的世界,那么速度问题就会得到解决。

于 2013-07-02T15:39:31.807 回答