GAME HW0
by Alan Lin
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r73/three.js"></script>
<script src="https://dl.dropboxusercontent.com/u/3587259/Code/Threejs/OrbitControls.js"></script>
CSS
body {
overflow: hidden;
}
JavaScript
var scene, renderer, camera;
var controls;
init();
animate();
function init() {
scene = new THREE.Scene();
renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setClearColor(0x999999);
document.body.appendChild(renderer.domElement);
camera = new THREE.PerspectiveCamera(50, window.innerWidth / window.innerHeight, 1, 10000);
camera.position.set(0,50,150);
controls = new THREE.OrbitControls(camera, renderer.domElement);
var gridXZ = new THREE.GridHelper(100, 10);
gridXZ.setColors(new THREE.Color(0xff0000), new THREE.Color(0xffffff));
scene.add(gridXZ);
window.addEventListener('resize', onWindowResize, false);
train();
}
function train(){
var total = new THREE.Object3D();
var A = new THREE.Mesh( new THREE.BoxGeometry( 12, 10, 30 ), new THREE.MeshBasicMaterial( {color: 0x00bfff } ) );
A.position.set(0, 5, 0);
total.add( A );
var B = new THREE.Mesh( new THREE.CylinderGeometry(5, 5, 12.1, 64, 64, false, 0, Math.PI), new THREE.MeshBasicMaterial( {color: 0x00afff } ) );
B.rotation.z = Math.PI/2;
B.position.set(0, 0, 14);
total.add( B );
var C = new THREE.Mesh( new THREE.CylinderGeometry(4, 4, 18, 64, 64), new THREE.MeshBasicMaterial( {color: 0x00bfff } ));
C.rotation.x = Math.PI/2;
C.position.set(0, 10, 6);
total.add( C );
var D = new THREE.Mesh( new THREE.CylinderGeometry(4, 4, 4, 64, 64), new THREE.MeshBasicMaterial( {color: 0x000000 } ));
D.rotation.x = Math.PI/2;
D.position.set(0, 10, 17);
total.add( D );
THREE.ImageUtils.crossOrigin = '';
var E = new THREE.Mesh(new THREE.CircleGeometry(4.2,32),new THREE.MeshBasicMaterial({map: THREE.ImageUtils.loadTexture('http://i.imgur.com/P3zuCjc.png'),transparent: true}));
E.position.set(0,10,19.1);
total.add(E);
var F = new THREE.Mesh( new THREE.CylinderGeometry(0.8, 0.8, 7.5, 64, 64), new THREE.MeshBasicMaterial( {color: 0x000000 } ));
F.position.set(0,...