最近、アプリに重力を実装しましたが、正しく機能させることができません。コードを実行するたびに、重力を適用する代わりに位置を設定しているかのように、ゲーム内のキャラクターが即座にドロップします。
したがって、ゲーム ループに次のコードがあります (また、dTime はゲーム ループのデルタ時間です)。
float fVelocity = 0;
fVelocity -= GRAVITY * dTime;
velocity += fVelocity * dTime;
pos.y = clampf(velocity, -MAXSPEED, MAXSPEED);
次に、重力と MAXSPEED は次のように定義されます。
#define GRAVITY 100
#define MAXSPEED 500
では、この問題を引き起こしている可能性のある、間違っているように見えるものはここにありますか?
ありがとう!