HomeWork5

by omgazero

HTML

<div id="info">
HomeWork5
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/84/three.min.js"></script>
<script src="https://threejs.org/examples/js/controls/OrbitControls.js">


</script>

CSS

#info {
  position: absolute;
  top: 0px;
  width: 100%;
  padding: 10px;
  text-align: center;
  color: #ff0000;
}

JavaScript

var frame, frame2, tron, scene, camera, renderer, light, controls;

init();
animate();

function init() {

  renderer = new THREE.WebGLRenderer();
  renderer.setSize(window.innerWidth, window.innerHeight);



  document.body.appendChild(renderer.domElement);

  scene = new THREE.Scene();

  camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 1, 10000);
  camera.position.y = 50;
  camera.position.z = 50;

  controls = new THREE.OrbitControls(camera, renderer.domElement);


  frame = new THREE.Object3D();
  frame2 = new THREE.Object3D();
  tron = new THREE.Object3D();
  scene.add(frame);
  scene.add(frame2);
  scene.add(tron);
  
  columnGeom = new THREE.BoxGeometry(10, 30, 10);
  platformGeom = new THREE.BoxGeometry(20, 10, 10);
  material = new THREE.MeshLambertMaterial();

  var mesh = new THREE.Mesh(columnGeom, material);
  var mesh2 = mesh.clone();
  mesh.position.set(-5, 15, -5);
  mesh2.position.set(-5 - 30, 15, -5);
  var mesh1 = new THREE.Mesh(platformGeom, material);
  mesh1.position.set(-20, 5, -5);
  
  frame.add(mesh);
  frame.add(mesh1);
  frame.add(mesh2);
  
  
  platform = new THREE.BoxGeometry(20, 10, 15);
  var meshP = new THREE.Mesh(platform, material);
  meshP.position.set(20, 5, -5);
  
  cylinder = new THREE.CylinderGeometry(5, 5, 10);
  var meshP1 = new THREE.Mesh(cylinder, material);
  meshP1.position.set(25, 10, -5);
  
  frame2.add(meshP);
  frame2.add(meshP1);
  
  materialTron = new THREE.MeshLambertMaterial();
  materialTron.color.set(new THREE.Color(0x26591a));
  
  materialTron2 = new THREE.MeshLambertMaterial();
  materialTron2.color.set(new THREE.Color(0x5c585a));
  
  tronBody = new THREE.BoxGeometry(20, 5, 25);
  var meshBody = new THREE.Mesh(tronBody, materialTron);
  meshBody.position.set(0, 2.5, 25);
  
  tronTop = new THREE.SphereGeometry(5, 20, 20, 0, Math.PI*2, 0, 0.9);
  var meshTop = new THREE.Mesh(tronTop, materialTron2);
  meshTop.position.set(-5, 2, 17);
  
  tronGunTurret1 = new...