|
@@ -78,15 +78,6 @@
|
|
|
worldHalfWidth = worldWidth / 2, worldHalfDepth = worldDepth / 2,
|
|
|
data = generateHeight( worldWidth, worldDepth );
|
|
|
|
|
|
- var mouseX = 0, mouseY = 0,
|
|
|
- lat = 0, lon = 0, phy = 0, theta = 0;
|
|
|
-
|
|
|
- var direction = new THREE.Vector3(),
|
|
|
- moveForward = false, moveBackward = false, moveLeft = false, moveRight = false;
|
|
|
-
|
|
|
- var windowHalfX = window.innerWidth / 2;
|
|
|
- var windowHalfY = window.innerHeight / 2;
|
|
|
-
|
|
|
init();
|
|
|
animate();
|
|
|
|
|
@@ -94,10 +85,8 @@
|
|
|
|
|
|
container = document.getElementById( 'container' );
|
|
|
|
|
|
- if( fogExp2 )
|
|
|
- camera = new THREE.Camera( 60, window.innerWidth / window.innerHeight, 1, 20000 );
|
|
|
- else
|
|
|
- camera = new THREE.Camera( 60, window.innerWidth / window.innerHeight, 1, 7500 );
|
|
|
+ camera = new THREE.QuakeCamera( { fov: 60, aspect: window.innerWidth / window.innerHeight, near: 1, far: 20000,
|
|
|
+ movement_speed: 15, look_speed: 0.005, nofly: false, look_vertical: true } );
|
|
|
|
|
|
camera.target.position.z = - 100;
|
|
|
|
|
@@ -105,11 +94,7 @@
|
|
|
camera.target.position.y = camera.position.y;
|
|
|
|
|
|
scene = new THREE.Scene();
|
|
|
-
|
|
|
- if( fogExp2 )
|
|
|
- scene.fog = new THREE.FogExp2( 0xffffff, 0.00025 );
|
|
|
- else
|
|
|
- scene.fog = new THREE.Fog( 0xffffff, - 1000, 7500 );
|
|
|
+ scene.fog = new THREE.FogExp2( 0xffffff, 0.00025 );
|
|
|
|
|
|
var debug_texture = false,
|
|
|
debug_numbers = false,
|
|
@@ -476,14 +461,6 @@
|
|
|
stats.domElement.style.top = '0px';
|
|
|
container.appendChild( stats.domElement );
|
|
|
|
|
|
- document.addEventListener( 'mousedown', onDocumentMouseDown, false );
|
|
|
- document.addEventListener( 'mouseup', onDocumentMouseUp, false );
|
|
|
- document.addEventListener( 'mousemove', onDocumentMouseMove, false );
|
|
|
- document.addEventListener( 'contextmenu', function ( event ) { event.preventDefault(); }, false );
|
|
|
-
|
|
|
- document.addEventListener( 'keydown', onDocumentKeyDown, false );
|
|
|
- document.addEventListener( 'keyup', onDocumentKeyUp, false );
|
|
|
-
|
|
|
document.getElementById( "bao" ).addEventListener( "click", function() { mat.map = m_ao.map; }, false );
|
|
|
document.getElementById( "baot" ).addEventListener( "click", function() { mat.map = m_aot.map; }, false );
|
|
|
document.getElementById( "bt" ).addEventListener( "click", function() { mat.map = m_t.map; }, false );
|
|
@@ -811,79 +788,6 @@
|
|
|
|
|
|
}
|
|
|
|
|
|
- function onDocumentMouseDown( event ) {
|
|
|
-
|
|
|
- event.preventDefault();
|
|
|
- event.stopPropagation();
|
|
|
-
|
|
|
- switch ( event.button ) {
|
|
|
-
|
|
|
- case 0: moveForward = true; break;
|
|
|
- case 2: moveBackward = true; break;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- function onDocumentMouseUp( event ) {
|
|
|
-
|
|
|
- event.preventDefault();
|
|
|
- event.stopPropagation();
|
|
|
-
|
|
|
- switch ( event.button ) {
|
|
|
-
|
|
|
- case 0: moveForward = false; break;
|
|
|
- case 2: moveBackward = false; break;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- function onDocumentMouseMove(event) {
|
|
|
-
|
|
|
- mouseX = event.clientX - windowHalfX;
|
|
|
- mouseY = event.clientY - windowHalfY;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- function onDocumentKeyDown( event ) {
|
|
|
-
|
|
|
- switch( event.keyCode ) {
|
|
|
-
|
|
|
- case 38: /*up*/
|
|
|
- case 87: /*W*/ moveForward = true; break;
|
|
|
-
|
|
|
- case 37: /*left*/
|
|
|
- case 65: /*A*/ moveLeft = true; break;
|
|
|
-
|
|
|
- case 40: /*down*/
|
|
|
- case 83: /*S*/ moveBackward = true; break;
|
|
|
-
|
|
|
- case 39: /*right*/
|
|
|
- case 68: /*D*/ moveRight = true; break;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- function onDocumentKeyUp( event ) {
|
|
|
-
|
|
|
- switch( event.keyCode ) {
|
|
|
-
|
|
|
- case 38: /*up*/
|
|
|
- case 87: /*W*/ moveForward = false; break;
|
|
|
-
|
|
|
- case 37: /*left*/
|
|
|
- case 65: /*A*/ moveLeft = false; break;
|
|
|
-
|
|
|
- case 40: /*down*/
|
|
|
- case 83: /*S*/ moveBackward = false; break;
|
|
|
-
|
|
|
- case 39: /*right*/
|
|
|
- case 68: /*D*/ moveRight = false; break;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
//
|
|
|
|
|
|
function animate() {
|
|
@@ -897,22 +801,6 @@
|
|
|
|
|
|
function render() {
|
|
|
|
|
|
- if ( moveForward ) camera.translateZ( - 15 );
|
|
|
- if ( moveBackward ) camera.translateZ( 15 );
|
|
|
- if ( moveLeft ) camera.translateX( - 15 );
|
|
|
- if ( moveRight ) camera.translateX( 15 );
|
|
|
-
|
|
|
- lon += mouseX * 0.005;
|
|
|
- lat -= mouseY * 0.005;
|
|
|
-
|
|
|
- lat = Math.max( - 85, Math.min( 85, lat ) );
|
|
|
- phi = ( 90 - lat ) * Math.PI / 180;
|
|
|
- theta = lon * Math.PI / 180;
|
|
|
-
|
|
|
- camera.target.position.x = 100 * Math.sin( phi ) * Math.cos( theta ) + camera.position.x;
|
|
|
- camera.target.position.y = 100 * Math.cos( phi ) + camera.position.y;
|
|
|
- camera.target.position.z = 100 * Math.sin( phi ) * Math.sin( theta ) + camera.position.z;
|
|
|
-
|
|
|
renderer.render( scene, camera );
|
|
|
|
|
|
}
|