2015-04-15 28 views
0

我有2個網格。我想從第一個網格向第二個網格發射一個彈丸。在一條線上移動一個網格三個JS

爲此我畫了一條線。但是我無法在這條「線路」上翻譯炮彈。我嘗試了translateOnAxis函數,但它不起作用。

你知道一個方法來移動一個線後的對象嗎? 你有其他方法嗎?

謝謝你,

托馬斯

回答

1

因此,可以說你已經object1(的THREE.Object3D()型)和你做一樣的東西:

object1.position.set(1, 2, 3); 
var position2 = new THREE.Vector3(11, 12, 13); 

,你想object1移動到位置2 。

可以包括tween.js庫並做兩者之間的漸變:使用

setupObjectPositionTween(object1, object1.position.clone(), position2, 
    2000, 100, TWEEN.Easing.Linear.None);  // duration, delay, easing 

function setupObjectPositionTween(object, source, target, duration, delay, easing) 
{ 
    new TWEEN.Tween(source) 
     .to(target, duration) 
     .delay(l_delay) 
     .easing(l_easing) 
     .onUpdate(function() { object.position.copy(source); }) 
     .start(); 
} 

編輯:

您將需要添加動畫循環:

TWEEN.update(); 

和在init():

TWEEN.removeAll(); // clear out tween buffer 
+0

謝謝你,是我不好,我看到了這個庫時,我研究的是在網絡上,但我不認爲這個庫爲發。非常感謝你。 – merinid

+0

我編輯了我的答案 – gaitat

+0

是的,我已經添加了更新;) – merinid

相關問題