我有一個Circle
(我將稱之爲Particle
整個問題)與Modifier
然後Surface
添加到它是管道事件到Generic Sync
(觸摸/點擊進入)。 sync
事件允許我更改Particle
上start
,update
和end
事件的位置,以便我可以在邊界框內拖動它。Famo.us JS - 動畫機構(粒子)移動到位置
有一個在我的應用程序規則,如果在同步的start
和end
事件粒子的位置之間的距離是在一定的閾值,則粒子需要動畫回到start
位置。
例如:粒子從同步start
上的[0,0]開始,並移至[100,100]。兩點之間的距離(約〜141.42)超過了我的閾值50 ...
我該如何施加力/速度/?將Particle
動畫回到[0,0]?
注:我知道我可以用Modifiers
很容易做到這一點,但我試圖嚴格使用物理引擎。
編輯: 我想通了,包括使用可轉換和設置的間隔運行不斷更新粒子的位置,然後設置過渡到我所期望的最終位置和結算的可轉換的回調的時間間隔的解決方案。
var retreatTrans = new Transitionable(myParticle.getPosition());
// Set a temporary interval to update the position
// as we change the transitionable (below)
var retreatInterval = setInterval(function() {
myParticle.setPosition(retreatTrans.get());
});
// Set transitionable to our desired retreatPosition
retreatTrans.set([0,0], {duration: 100}, function() {
// Clear our interval
clearInterval(retreatInterval);
});
我已經想出了一個解決方案 - 可能不是最佳實踐,但我現在用它更新我的問題。 – 2015-04-03 16:48:13
'Spring'可能是一個更好的解決方案 - 謝謝指出。我會盡力解決這個問題,但如果你在此期間想出點什麼,請告訴我。謝謝! – 2015-04-03 16:56:03