2017-07-13 30 views
0

免責聲明:我正在使用three.js編輯器(https://threejs.org/editor/)作爲創建帶有6個對象和6個方向燈的動畫3d場景的IDE。場景本身將導出並顯示,不會有任何動畫/位置變化。 當我嘗試在下面添加此腳本來編輯對象的xy位置時,按下play鍵時場景將不會顯示。three.js編輯器不會執行位置更改腳本

var box = this.getObjectByName ('box'); 
 
var filledTube =this.getObjectByName('filledTube'); 
 
var ball =this.getObjectByName('ball'); 
 
var dice =this.getObjectByName('dice'); 
 
var tube =this.getObjectByName('tube'); 
 
var knot=this.getObjectByName('knot'); 
 
var blue1=this.getObjectByName('blue'); 
 
var blue2=this.getObjectByName('blue2'); 
 
var red1=this.getObjectByName('red'); 
 
var red2=this.getObjectByName('red2'); 
 
var green1=this.getObjectByName('green'); 
 
var green2=this.getObjectByName('green2'); 
 

 
function update(event) { 
 
var time = (event.time*.01); 
 
\t box.position.x=-time; 
 
\t box.position.y=-time; 
 
\t filledTube.position.x=-time; 
 
\t filledTube.position.y=-time; 
 
\t ball.position.x=-time; 
 
\t ball.position.y=-time; 
 
\t dice.position.x=-time; 
 
\t dice.position.y=-time; 
 
\t tube.position.x=-time; 
 
\t tube.position.y=-time; 
 
\t knot.position.x=-time; 
 
\t knot.position.y=-time; 
 
\t 
 
\t blue1.position.x=+time; 
 
\t blue1.position.y=+time; 
 
\t blue2.position.x=+time; 
 
\t blue2.position.y=+time; 
 
\t red1.position.x=+time; 
 
\t red1.position.y=+time; 
 
\t red2.position.x=+time; 
 
\t red2.position.y=+time; 
 
\t green1.position.x=+time; 
 
\t green1.position.y=+time; 
 
\t green2.position.x=+time; 
 
\t green2.position.y=+time; 
 
}

我找不到在編輯器,以便我在這裏...任何幫助或指導的文件對谷歌的任何信息,將不勝感激。

回答

0

在更新函數中嘗試event.delta而不是event.time。我的猜測是所有的物體都快速移動。

因此,在更新功能:

var time = (event.delta*.01); 

祝你好運!

0

劇本的作品,可能「踢」遠離視野的一切。 原因是event.time值非常大,即使它們是分開的。

要查看這些對象,並在場景中移動他們試試這個:

var speed = 0.02; 
box.position.x += speed; // adds 0.02 to the current box x position value 
box.position.y -= speed; // subtracts 0.02 to the current box y position value 

一個很好的工具,瀏覽器控制檯,可以幫助您跟蹤值(例如:event.time)和解決的問題。

例如:在更新函數中添加以下行,並查看大量時間值。

console.log(event.time); // outputs time values 

您可以瞭解更多的控制檯herehere