2012-10-01 64 views
0

我想管理點擊一個網格(立方體)做一些處理的東西。管理點擊一個網格

var cubeFor3D = new THREE.Mesh(new THREE.CubeGeometry(40,80,40),img3D); 

    scene.add(cubeFor3D); 
    // 
    renderer.render(scene,camera); 
    // 
    animate(); 
     //Track the click on cube3d 
    cubeFor3D.on('click', function(){ 

      // response to click... 
      console.log('you have clicked on cube 2D'); 

}); 

運行時,我得到了Web控制檯上此錯誤:

TypeError: cubeFor3D.on is not a function 

在API文檔,它顯示出這樣做:

mesh.on('click',.. 

但我想我應該用我的網格真實名稱替換mesh。似乎我錯了。請幫助。

我,包括我的文件中的API JS:<script src='threex.domevent.js'></script>

+0

你包括哪些代幣?你有'threex.domevent.js'嗎?它不是three.js的默認功能 – TheZ

+0

噢,我包括它:' ' – Malloc

+0

有什麼建議嗎? – Malloc

回答

0

晚的答案,但,如果您添加到初始化函數的乞討它應該工作:

THREE.Object3D._threexDomEvent.camera(相機);其實我通常會在scene = new THREE.Scene()後直接放入。