1.在【three.js第一课】的基础上加入以下代码,改变窗口大小时,页面内容会自适应:
//加入事件监听器,窗口自适应window.addEventListener('resize', function(){var width = window.innerWidth;var height = window.innerHeight;renderer.setSize(width,height);camera.aspect = width/height;camera.updateProjectionMatrix();})
2.整体代码:
<html><head><title>demo1</title></head><style type="text/css">body{margin:0;}canvas{width:100%;height:100%;}</style><body><script src="jquery.min.js"></script><script src="../build/three.js"></script><script type="text/javascript">var scene = new THREE.Scene();//创建场景//创建一个摄像机对象var camera = new THREE.PerspectiveCamera(75,window.innerWidth / window.innerHeight, 0.1, 1000);//创建渲染器var renderer = new THREE.WebGLRenderer();renderer.setSize(window.innerWidth, window.innerHeight);document.body.appendChild(renderer.domElement);//渲染到浏览器//加入事件监听器,窗口自适应window.addEventListener('resize', function(){var width = window.innerWidth;var height = window.innerHeight;renderer.setSize(width,height);camera.aspect = width/height;camera.updateProjectionMatrix();})//创建形状 BoxGeometryvar geometry = new THREE.BoxGeometry(1,1,1);//创建材料 wireframe是否使用线条var material = new THREE.MeshBasicMaterial({color:0xFFFFFF,wireframe:true});//将材料和形状结合var cube = new THREE.Mesh(geometry,material);//加入场景中scene.add(cube);camera.position.z=3;//设置相机的位置//逻辑var update=function(){//物体随着XY轴旋转cube.rotation.x +=0.01;cube.rotation.y += 0.005;}//绘画渲染var render=function() {renderer.render(scene,camera);}//循环运行update,rendervar loop=function() {requestAnimationFrame(loop);update();render();}loop();//循环开始</script></body></html>
版权声明:本站部分内容由互联网用户自发贡献,文章观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请拨打网站电话或发送邮件至1330763388@qq.com 反馈举报,一经查实,本站将立刻删除。
文章标题:【three.js第二课】页面自适应发布于2024-01-16 22:33:52

