LibGDX-Box2D:使用鼠标点移动对象而不受速度限制
我正在使用鼠标点拖动对象。但是物体的运动太慢了 我需要用鼠标的速度移动它们。目前,我将这些设置用于LibGDX-Box2D:使用鼠标点移动对象而不受速度限制,box2d,libgdx,physics,game-engine,Box2d,Libgdx,Physics,Game Engine,我正在使用鼠标点拖动对象。但是物体的运动太慢了 我需要用鼠标的速度移动它们。目前,我将这些设置用于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 * hi
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);
我该怎么办?如果您的游戏宽度和高度太大,比如800x480或其他什么,那么将其除以40,比如。。。20x12
这是因为box2d速度限制为2个单位。你想要的是每一个时间步有更多的单位,但是你的屏幕太大了,无法实现这一点。。因此,如果你缩短你的世界,那么速度问题就会得到解决。我的错误是使用了
this.cam.setToOrtho(false,Gdx.graphics.getWidth(),Gdx.graphics.getHeight())代码>创建具有正确参数的摄影机实例后!:)谢谢