2013-03-09 24 views
1

我的jQuery的时候改变纹理或颜色:three.js所按钮点击

<script type="text/javascript"> 
$(document).ready(function(){ 

$("#button").click(function(){ 
cube[0].mesh.material.uniforms.texture.value = THREE.ImageUtils.loadTexture("textures/envmap.png"); 
cube[0].mesh.material.uniforms.texture.needsUpdate = true; 
}); 

}); 
</script> 

我有冰块的数组,我希望能够改变立方体纹理的#键,当点击DIV。

我在Chrome得到这个错误在DIV当点击:

Uncaught TypeError: Cannot read property 'material' of undefined 

怎么可能改变纹理或颜色的立方体[0]这是一个THREE.CubeGeometry对象。

我有一个JS提琴在这里:http://jsfiddle.net/SCXNQ/559/

回答

1

按照这个例子:http://mrdoob.github.com/three.js/examples/webgl_materials_cars.html

使用的console.log调试你的应用程序,您试图访问不存在的物体,如立方体[0]或cube.mesh。您可以使用cube.material获取材质。没有统一数组,因为您正在使用MeshBasicMaterial。

应该在纹理的onload监听器中触发Thee needsUpdate = true。

+0

你可以用立方体创建一个简单的例子吗? – 2013-03-09 11:43:33

+0

http://jsfiddle.net/SCXNQ/571/ – 2013-03-09 11:56:35

+0

你可以用纹理创建一个简单的例子,就像我使用colors_ – 2013-03-09 12:16:30