我是新來的編程和使用Corona SDK製作ipad應用程序。如何創建擺動動畫(阻尼擺動)?
我想採取這樣的擺動動畫: http://www.youtube.com/watch?v=kXxQU0T7I2A#t=0m40s(t = 40-44秒)。
我該怎麼做?什麼方法更容易:使用具有特定關節的物理或使用過渡? 也許有些例子嗎?
我是新來的編程和使用Corona SDK製作ipad應用程序。如何創建擺動動畫(阻尼擺動)?
我想採取這樣的擺動動畫: http://www.youtube.com/watch?v=kXxQU0T7I2A#t=0m40s(t = 40-44秒)。
我該怎麼做?什麼方法更容易:使用具有特定關節的物理或使用過渡? 也許有些例子嗎?
阻尼諧振子的解決方案很簡單:
startAmplitude*sin(omega*t+startPhase)*exp(-t*dampningConstant)
我會用這個來形容關節的角度。從手臂的角度和長度可以計算(x,y)對。如果你在一個系列中有幾個部分,你可以簡單地添加不同步驟的x和y值。
這並沒有描述正確的關節耦合系統的物理,但可能足以滿足您的需要。
爲了模擬需要指定阻尼彈簧:
每一幀,你要保持物體的速度記錄,並根據:
在僞代碼中,這是:
velocity = velocity * (1-dampingFactor) + deviationFromRest * springConstant
position = position + velocity
你可以用這個在我的網站交互播放:
http://phrogz.net/damped-spring-oscillations-in-javascript