2014-09-05 53 views
0

我一直在嘗試更改立方體被點擊時的顏色。我遇到的問題是,當我使用MeshFaceMaterial時,它似乎不起作用。到目前爲止,我已經成功地改變這樣的立方體的一個面上的顏色:更改立方體的每個面的顏色

if (intersects.length > 0) 
{ 
    console.log("Hit @ " + toString(intersects[0].point)); 
    // change the color of the closest face. 
    intersects[ 0 ].face.color.setRGB(0.8 * Math.random() + 0.2, 0, 0); 
    intersects[ 0 ].object.geometry.colorsNeedUpdate = true; 
} 

我現在該如何更改我的代碼,這樣,當點擊一個面對所有的面孔變色? 謝謝!

回答

0

geometry財產獲得所有面的列表:

if (intersects.length > 0) 
{ 
    console.log("Hit @ " + toString(intersects[0].point)); 
    // change the color of the closest face. 
    var faces = intersects[0].object.geometry.faces; 
    for (var i = 0; i < faces.length; i++) { 
     faces[i].color.setRGB(0.8 * Math.random() + 0.2, 0, 0); 
    } 

    intersects[ 0 ].object.geometry.colorsNeedUpdate = true; 
} 
+0

唉唉非常感謝!這很有用! – 2014-09-05 10:40:11