例で体を動かす方法:ボール60キロの速度で発射大砲/考えるlibgdx BOX2D体 - 与えられた力やスピード、距離や時間
:(60キロ)は 距離= 60キロ、 時間= 1時間
Libgdx:GameWorld
// Given that I am using 1/45.0f step time, the rest iteration velocity 6 and position 2
// Given that 60.00012 kilometres per hour = 16.6667 metres per second
float speed = 16.6667f; // 16.6667 metres per second
Vector2 bulletPosition = body.getPosition();
Vector2 targetPosition = new Vector2(touchpoint.x touchpoint.y);
Vector2 targetDirection = targetPosition.cpy().sub(bulletPosition).scl(speed);
問題:しかし、私の問題は大砲ボールが私の望むスピードで動いていないことです。またスピードが正しいかどうかを確認できるようにボディスピードを記録する方法もあります。私は、大砲のボールはとても遅い動いているので、60キロを想像し、それは間違っていた気づい
PS:は上の写真の幅が5メートルであることを前提とし、高さが3メートル
body.setLinearVelocity(targetDirection.scl(deltaTime));
です問題2:私は
// Given that F = ma
Vector2 acceleration = ???
float mass = body.getMass();
Vector2 force = ???
body.applyForces(force);
所定の速度とステップ時間で力を計算しますか見当がつかない210
こんにちは@BasimKhajwalはあなたの清潔で分かりやすく答えてくれてありがとう!インパルスを印加した後、方向はわずかに異なる。例えば、30度の角度で画面に触れると、ボールは32度で動いていますが、これは正確ではありません。奇妙な動作、私はまだVector2を使用することについて混乱しています.nor、私はまだその目的が理解できません。 – ronscript