2011-12-13 5 views
0

そこには多くのmousefollowerチュートリアルがあります。それらのほとんどは運動緩和のための簡単な式を備えています:マウスフォロワイジングイン/アウト

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

(TX =目標位置、X =実際の位置、INTERPを> 1)これはフォロワーは、その後、最初に非常に速く行かせる

目標位置までゆっくりと減速する。

どうやってフォーミュラを変更しなければならないので、私はカスタムのアクセラレーション、カスタムの減速、そしてその間の動きのためのmaxspeedを定義できますか?私は初めに、加速を追加して満足しています。

ありがとうございます!

ハンス

答えて

0

加速度は経時的な速度の変化です。だから、1Dに、一定の速度を適用するために、あなたは何だろう:

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

をここで

  • aは加速度(定数)
  • vある速度
  • xがありますx位置
  • dtは、タイムステップ、つまり更新間隔の間です。

aが負になることを除いて、減速の場合と同様の操作を行います。

は最大速度を設定するには、単に多分、 v上の条件を確認する必要があります。 v_maxがあなたの最大速度を許可されている

v = MIN(v_max, v); 

(定数)。 、あなたのアカウントに移動方向を取る必要があると思い2Dで

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

私はthetaを計算するためにあなたにそれを残しておきます...