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 などのように大きすぎる場合は、20x12 のように 40 で割ります。

これは、box2d の速度が 2 ユニットに制限されているためです。そして、あなたが望むのは時間ステップごとにより多くの単位ですが、あなたの画面はそれを達成するには大きすぎます..世界を短くすれば、速度の問題は解決されます.

于 2013-07-02T15:39:31.807 に答える