2011-11-09 63 views
5

three.js所我想要這樣的:無法獲得FirstPersonControls在工作

控制=新THREE.FirstPersonControls(攝像頭);

controls.movementSpeed = 1000; controls.lookSpeed = 0.125; controls.lookVertical = true;

它沒有工作, 從here我發現我需要更新時間增量控制:

VAR時鐘=新THREE.Clock)(;

controls.update(clock.getDelta());

,但我得到undefined is not a function錯誤THREE.Clock()

可以請你點我的工作演示/教程,FirstPersonControls,或只是告訴我,什麼是錯?

謝謝!

回答

4

您是否嘗試過簡單地致電controls.update();(不經過三角洲)?

我剛剛嘗試使用該類從misc_sound.html示例中複製一些代碼。 所以的init():

controls = new THREE.FirstPersonControls(camera); 

       controls.movementSpeed = 70; 
       controls.lookSpeed = 0.05; 
       controls.noFly = true; 
       controls.lookVertical = false; 

和渲染():

controls.update(); 

更新

託德指出,在新的版本中,增量時間參數必須是提供:

controls.update(delta); 
+0

嘿,工作!謝謝!在類似問題上被帖子搞糊塗了。 –

+2

請看[ToddMorrison的回答](http://stackoverflow.com/a/11286753/1888983),如果像我一樣盲目地開始複製/粘貼:P這個調用需要'controls.update(delta);' – jozxyqk