2011-12-13 59 views
0

那裏有很多mousefollower教程。其中大部分都設有一個簡單的公式用於緩和運動:鼠標追隨者緩進/退出

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

(TX =目標位置,X =實際位置,interp的> 1)

這使得從動走非常快的開頭,然後緩慢減速到目標位置。

如何更改公式,以便我可以定義自定義加速度,自定義減速度和最大速度之間的運動?一開始,我會很滿意加速度。

謝謝!

Hans

回答

0

加速度是速度隨時間的變化。因此,在一維,申請一個恆定的速度,你會怎麼做:

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

其中:

  • a是加速度(恆定)
  • v是速度
  • x是x位置
  • dt是時間步,即更新之間的時間

你會做一些類似的減速,但a現在是負面的。

要設置最大速度,你只需要一個條件檢查上v,也許:

v = MIN(v_max, v); 

其中v_max是你的最大允許速度(恆定)。

在2D中,你需要考慮到行駛方向:

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

我會離開它給你計算theta ...