2015-04-15 27 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

相关问题