分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

Three.js基础:建立Cube并实现鼠标交互,动画旋转

发布时间:2023-09-06 01:37责任编辑:傅花花关键词:js动画

index.html文件:

 1 <!DOCTYPE html> 2 <html> 3 ????<head> 4 ????????<meta charset="utf-8"> ?5 ????????<title>Cube</title> 6 ????????<script type="text/javascript" src="three.js"></script> 7 ????????<script type="text/javascript" src="mythree.js"></script> ????8 ????????<script type="text/javascript" src="js/controls/OrbitControls.js"></script> 9 ????</head>10 11 ????<body onload="init()">12 ????????<div>13 ????????????<canvas id="mainCanvas" width="500px" height="500px" ></canvas>14 ????????</div>15 ????</body>16 17 </html>

mythere.js文件:

 1 var renderer, camera, scene,cube,controls; 2 ?3 function init() { 4 ????// renderer 5 ????renderer = new THREE.WebGLRenderer({ 6 ????????canvas: document.getElementById(‘mainCanvas‘) 7 ????}); 8 ????renderer.setClearColor(0x000000); // black 9 ????// scene10 ????scene = new THREE.Scene();11 ????// camera12 ????camera = new THREE.PerspectiveCamera(45, 4 / 3, 1, 1000);13 ????camera.position.set(0, 0, 5);14 ????scene.add(camera);15 ????// a cube in the scene16 ????cube = new THREE.Mesh(new THREE.CubeGeometry(2, 2, 3),17 ????????????new THREE.MeshBasicMaterial({18 ????????????????color: 0xff000019 ????????????})20 ????);21 ????scene.add(cube);22 ????23 ????//controlls24 ????controls = new THREE.OrbitControls( camera );25 ????controls.addEventListener( ‘change‘, render ); ???26 ????27 ????// Animation ???????28 ????requestAnimationFrame(draw); ???29 ????30 ????render();31 }32 33 // Animation34 function draw() {35 ????id = requestAnimationFrame(draw);36 ????cube.rotation.x += 0.05;37 ????cube.rotation.y += 0.05;38 ????renderer.render(scene, camera);39 }40 41 function render() {42 ????renderer.render(scene, camera);43 }

Three.js基础:建立Cube并实现鼠标交互,动画旋转

原文地址:https://www.cnblogs.com/zhile/p/8302790.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved