JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://threejs.org/build/three.min.js"></script>
<script src="http://cdn.jsdelivr.net/keyboardjs/0.4.2/keyboard.js"></script>
<p>Press 'a','s','d' or 'w' to move, and spacebar to shoot</p>

CSS

body {
    overflow: hidden;
}

JavaScript

var camera, scene, renderer;
var geometry, material, mesh;
var distance, tank, tank2;

var bullet = {
    rotationY:0,
    toCreate: false,
}

KeyboardJS.on('space', function() {
    bullet.toCreate = true; 
    });

init();
animate();

function init() {

    camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 1, 10000);
    camera.position.z = 20;
    camera.position.y = 4;
    scene = new THREE.Scene();
    
    tank = new THREE.Object3D();
    material = new THREE.MeshBasicMaterial({
        color: 0x005f00,
        wireframe: false,
         //opacity: 0.5
    });
    
    geometry = new THREE.CubeGeometry(6, 2, 10);    
    tankMesh1 = new THREE.Mesh(geometry, material);
    tank.add(tankMesh1);
    
    geometry = new THREE.CubeGeometry(3, 2, 5);
    tankMesh2 = new THREE.Mesh(geometry, material);
    tankMesh2.position.y = 2;
    tank.add(tankMesh2);

    geometry = new THREE.CubeGeometry(1, 1, 5);
    tankMesh3 = new THREE.Mesh(geometry, material);
    tankMesh3.position.y = 2;
    tankMesh3.position.z = -5;
    tank.add(tankMesh3);
    
    tank.rotation.y = 3.141/3;
   


    tank2 = new THREE.Object3D();
    material = new THREE.MeshBasicMaterial({
        color: 0x00005f,
        wireframe: false,
         //opacity: 0.5
    });
    
    geometry = new THREE.CubeGeometry(6, 2, 10);    
    tankMesh1 = new THREE.Mesh(geometry, material);
    tank2.add(tankMesh1);
    
    geometry = new THREE.CubeGeometry(3, 2, 5);
    tankMesh2 = new THREE.Mesh(geometry, material);
    tankMesh2.position.y = 2;
    tank2.add(tankMesh2);

    geometry = new THREE.CubeGeometry(1, 1, 5);
    tankMesh3 = new THREE.Mesh(geometry, material);
    tankMesh3.position.y = 2;
    tankMesh3.position.z = -5;
    tank2.add(tankMesh3);
    
    tank2.rotation.y = -3.141/3;
    tank2.position.z = -10;
    tank2.position.x = 10;



    scene.add(tank);
    scene.add(tank2);

    geometry = new THREE.SphereGeometry(1);
    bulletMesh = new...