threejs实现三维恐龙滑板动画效果代码
代码语言:html
所属分类:三维
代码描述:threejs实现三维恐龙滑板动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
body {
margin: 0;
}
.world {
position: absolute;
overflow: hidden;
width: 100%;
height: 100%;
background-color: #65BDCC;
}
.toggle-music {
position: absolute;
top: 1rem;
left: 1rem;
width: 3rem;
height: 3rem;
background: url('//repo.bfw.wiki/bfwrepo/icon/60d1c2f3e1d1e.png') center center / 70% no-repeat;
cursor: pointer;
}
.music-off {
background: url('//repo.bfw.wiki/bfwrepo/icon/60d1c2e3eff9a.gif') center center / 60% no-repeat;
}
</style>
</head>
<body >
<div class="world"></div><a class="toggle-music"></a>
<audio class="world-music" src="//repo.bfw.wiki/bfwrepo/sound/61397f63d3f7c.mp3"></audio>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/three.84.js"></script>
<script>
'use strict';
let scene,
camera,
renderer,
raycaster,
mouseDown,
world,
night = false;
let ground,
city,
dino;
let width,
height;
let speed = 0.05;
function init() {
width = window.innerWidth,
height = window.innerHeight;
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera(75, width / height, 0.1, 50);
camera.position.set(-2, 2, 12);
camera.lookAt(scene.position);
renderer = new THREE.WebGLRenderer({ alpha: true, antialias: true });
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(width, height);
renderer.shadowMap.enabled = true;
renderer.shadowMap.type = THREE.PCFSoftShadowMap;
addLights();
drawGround();
drawCity();
drawDino();
world = document.querySelector('.world');
world.appendChild(renderer.domElement);
document.addEventListener('mousedown', onMouseDown);
document.addEventListener('mouseup', onMouseUp);
document.addEventListener('touchstart', onTouchStart);
document.addEventListener('touchend', onTouchEnd);
.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0