3

我的 jQuery:

<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>

我有一组立方体,我希望能够在单击#button div 时更改立方体的纹理。

单击 div 时,我在 chrome 中收到此错误:

Uncaught TypeError: Cannot read property 'material' of undefined 

如何更改作为 THREE.CubeGeometry 对象的立方体 [0] 的纹理或颜色。

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

4

1 回答 1

2

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

使用 console.log 调试您的应用程序,您正在尝试访问不存在的对象,例如 cube[0] 或 cube.mesh。您可以使用 cube.material 获取材质。没有制服数组,因为您使用的是 MeshBasicMaterial。

你需要更新=真应该在纹理的加载监听器中触发。

于 2013-03-09T11:34:38.377 回答