0

そこにはたくさんのマウスフォロワーのチュートリアルがあります。それらのほとんどは、動きを緩和するための簡単な式を備えています。

x += (tx - x) / interp;
y += (ty - y) / interp;

(tx = 目標位置、x = 実際の位置、interp > 1)

これにより、フォロワーは最初は非常に速く進み、その後ゆっくりと目標位置まで減速します。

カスタム加速、カスタム減速、およびその間の移動の最大速度を定義できるように、フォーミュラーを変更するにはどうすればよいですか? 最初のうちは、加速が追加されれば満足です。

ありがとう!

ハンス

4

1 に答える 1

0

加速度は、時間の経過に伴う速度の変化です。したがって、1Dでは、一定の速度を適用するには、次のようにします。

v += a * dt;
x += v * dt;

どこ:

  • aは加速度(定数)です
  • v速度です
  • xx位置です
  • dtタイムステップ、つまり更新間の時間です

減速についても同様のことを行いますが、それaがマイナスになる点が異なります。

最大速度を設定するには、条件付きチェックを行う必要がありますv

v = MIN(v_max, v);

ここで、v_maxは最大許容速度(定数)です。

2Dでは、移動方向を考慮する必要があります。

x += v * cos(theta);
y += v * sin(theta);

計算はあなたにお任せしますtheta...

于 2011-12-13T20:57:40.910 に答える