JavaScript
var element = document.body;
var WIDTH = window.innerWidth,
HEIGHT = window.innerHeight;
var ASPECT = WIDTH / HEIGHT;
var UNITSIZE = 50,
WALLSIZE = 16;
var t = THREE,
stats, loader;
var scene, camera, renderer, clock, controls, key;
// 0 = floor, 1 = wall, 2 = spawn point
var map = [
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 1, 1, 0, 1, 1, 0, 1],
[1, 0, 0, 1, 1, 0, 1, 1, 0, 1],
[1, 0, 0, 1, 1, 0, 1, 1, 0, 1],
[1, 0, 0, 1, 0, 0, 1, 0, 0, 1],
[1, 1, 0, 1, 0, 0, 1, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 0, 2, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
];
var objects = [];
var mouse = new t.Vector2();
var player;
var spawnSet;
var scale = 5;
var stop_forward = false;
var stop_back = false;
var stop_left = false;
var stop_right = false;
var pointerlockchange = function(event) {
if (document.pointerLockElement === element || document.mozPointerLockElement === element || document.webkitPointerLockElement === element) {
controls.enabled = true;
} else {
controls.enabled = false;
}
};
function init() {
//stats = new Stats();
// stats.setMode(0);
//document.body.appendChild(stats.domElement);
renderer = new t.WebGLRenderer();
renderer.setSize(WIDTH, HEIGHT);
document.body.appendChild(renderer.domElement);
key = new Keyboard();
player = new fPlayer();
clock = new t.Clock();
scene = new t.Scene();
camera = new t.PerspectiveCamera(75, ASPECT, 1, 1000);
controls = new t.PointerLockControls(camera);
scene.add( controls.getObject() );
scene.add( player.cube ); //.........???????????
spawnSet = false;
//-------------------- Lights --------------
var ambo = new THREE.AmbientLight( 0xcccccc );
scene.add (ambo);
var directionalLight1 = new THREE.DirectionalLight( 0xffffff, 0.5 );
directionalLight1.position.set( -20, 20, -20 );
scene.add(...