我正在使用谷歌的 webGL 地球来完成我的一个有趣的项目。
想要:当用户单击带有“月亮”图标的框时,它会将用于制作地球的图像从 world.jpg 更改为 world_night.jpg。
有一个文件可以处理地球的纹理元素。这是负责获取图像位置以包裹地球的代码行。
scene = new THREE.Scene();
sceneAtmosphere = new THREE.Scene();
var geometry = new THREE.Sphere(200, 40, 30);
shader = Shaders['earth'];
uniforms = THREE.UniformsUtils.clone(shader.uniforms);
*uniforms['texture'].texture = THREE.ImageUtils.loadTexture('/images/world' +
'.jpg');*
重要的线在底部的星号内。
我正在使用这样的简单函数来更改纹理
<style>
function nightTime() {
uniforms['texture'].texture = THREE.ImageUtils.loadTexture('/images/world_night' +
'.jpg');
}
</style>
...filler html
<img src="moon.png" width="30px" onClick="nightTime()">
谁能帮我解决这个问题。
再次,当有人点击月亮图标时,我需要这个
*uniforms['texture'].texture = THREE.ImageUtils.loadTexture('/images/world' +
'.jpg');*
改成这个
*uniforms['texture'].texture = THREE.ImageUtils.loadTexture('/images/world_night' +
'.jpg');*
注意:我要更改的是一个名为 globe.js 的文件。该函数位于 index.html 文件中