From ff74c131cbbdbd12e717ed2cc36bac2645c31d18 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期三, 22 十二月 2021 09:14:00 +0800
Subject: [PATCH] #

---
 static/js/app.js |  123 ++++++++++++++--------------------------
 1 files changed, 44 insertions(+), 79 deletions(-)

diff --git a/static/js/app.js b/static/js/app.js
index a428ab9..79b5599 100644
--- a/static/js/app.js
+++ b/static/js/app.js
@@ -29,6 +29,7 @@
 		this.direction = new THREE.Vector3();
 		this.raycaster = null;
 		this.prevTime = performance.now();//涓婁竴娆ender鐨勬椂闂�
+		this.backgroundType = false;
 
 		this.start = function () {
 			this.initMain();
@@ -45,14 +46,13 @@
 			this.initReSize(this);
 			this.initPointLockControl(this);
 			this.initFloor();
-			this.initModel();
-			this.initStoreObjects(this);
 		}
 		this.animate = function () {
 			requestAnimationFrame(this.animate.bind(this));
 			this.stats.begin();
 			this.renderer.render(this.scene, this.camera);
 			this.firstPersonMove();
+			this.initStoreObjects(this);
 			this.stats.end();
 			this.queryCrn();
 			this.crnMove();
@@ -150,18 +150,21 @@
 		}
 		this.initStats = function () {
 			this.stats = new Stats();
-			// this.dom.appendChild( this.stats.dom );
+			this.dom.appendChild( this.stats.dom );
+			this.stats.domElement.style.display = 'none';
 		}
 		this.initBackground = function () {
-			// const cubeTextureLoader = new THREE.CubeTextureLoader();
-			// cubeTextureLoader.setPath( '../static/img/skybox/' );
-			// this.scene.background = cubeTextureLoader.load([
-			// 	"px.jpg", "nx.jpg",
-			// 	"py.jpg", "ny.jpg",
-			// 	"pz.jpg", "nz.jpg"
-			// ]);
-			this.scene.background = new THREE.Color( 0xf0f0f0 );
-
+			if (this.backgroundType) {
+				this.scene.background = new THREE.Color( 0xf0f0f0 );
+			} else {
+				const cubeTextureLoader = new THREE.CubeTextureLoader();
+				cubeTextureLoader.setPath( '../static/img/skybox0/' );
+				this.scene.background = cubeTextureLoader.load([
+					"px.jpg", "nx.jpg",
+					"py.jpg", "ny.jpg",
+					"pz.jpg", "nz.jpg"
+				]);
+			}
 			// 澶槼
 			// let sky = new Sky();
 			// sky.scale.setScalar( 450000 );
@@ -217,7 +220,7 @@
 						break;
 					case 'Space':
 						if ( object.canJump === true )  {
-							object.velocity.y += 350;
+							object.velocity.y += 450;
 						}
 						object.canJump = false;
 						break;
@@ -250,6 +253,8 @@
 			this.controls.addEventListener( 'unlock', function () {
 				console.log("涓婂笣瑙嗚");
 				object.initCamera();
+				addClass(document.getElementById("ship-info-btn"), "show");
+				document.getElementById("ship-type-ul").style.transform = 'translateY(-40px)';
 			} );
 			document.addEventListener( 'keydown', onKeyDown );
 			document.addEventListener( 'keyup', onKeyUp );
@@ -270,8 +275,8 @@
 				this.direction.z = Number( this.moveForward ) - Number( this.moveBackward );
 				this.direction.x = Number( this.moveRight ) - Number( this.moveLeft );
 				this.direction.normalize(); // this ensures consistent movements in all directions
-				if ( this.moveForward || this.moveBackward ) this.velocity.z -= this.direction.z * 400.0 * delta;
-				if ( this.moveLeft || this.moveRight ) this.velocity.x -= this.direction.x * 400.0 * delta;
+				if ( this.moveForward || this.moveBackward ) this.velocity.z -= this.direction.z * 2000.0 * delta;
+				if ( this.moveLeft || this.moveRight ) this.velocity.x -= this.direction.x * 2000.0 * delta;
 				if ( onObject === true ) {
 					this.velocity.y = Math.max( 0, this.velocity.y );
 					this.canJump = true;
@@ -286,14 +291,6 @@
 				}
 			}
 			this.prevTime = time;
-		}
-		this.lockControl = function () {
-			this.camera.position.y = 100;
-			this.camera.lookAt(0,100,0);
-			this.controls.getObject().position.x =0;
-			this.controls.getObject().position.y =100;
-			this.controls.getObject().position.z =580;
-			this.controls.lock();
 		}
 		this.removeObject = function (nameorid) {
 			for (let i = 0; i < this.objects.length; i++) {
@@ -329,8 +326,7 @@
 		}
 		this.initStoreObjects = function (object) {
 			if (this.firstTime === 1) {
-				initStore();
-				if (Store3DData !== null) {
+				if (Store3DData !== undefined && Store3DData !== null) {
 					for(var group of Store3DData.data.store.groups) {
 						new StoreCrn(group.crn, object);
 						for (var line of group.lines) {
@@ -352,11 +348,12 @@
 
 						}
 					}
+					this.firstTime = 0;
 				}
 			}
 		}
 		this.queryCrn = function () {
-			if (CrnDatas !== null) {
+			if (CrnDatas !== null && this.firstTime === 0) {
 				for (let crnData of CrnDatas) {
 					let crnTask = getArrVal(this.crnTasks, "crnNo", crnData.crnNo);
 					if (null == crnTask) {
@@ -379,64 +376,32 @@
 			}
 			return null;
 		}
-		this.initModel = function () {
-			let that = this;
-			const manager = new THREE.LoadingManager();
-			// manager.addHandler( /\.dds$/i, new DDSLoader() );
-			// new MTLLoader(manager)
-			// 	.setPath( '../static/model/obj/' )
-			// 	.load( '璐у弶.mtl', function ( materials ) {
-			// 		materials.preload();
-			// 		new OBJLoader( manager )
-			// 			.setMaterials( materials )
-			// 			.setPath( '../static/model/obj/' )
-			// 			.load( '璐у弶.obj', function ( object ) {
-			// 				object.position.z = -480;
-			// 				object.position.x = -1735;
-			// 				object.scale.set(0.03, 0.03, 0.03);
-			// 				object.rotateY(- Math.PI / 2)
-			// 				that.addObject( object );
-			// 			}, null, null );
-			// 	});
-			// new MTLLoader(manager)
-			// 	.setPath( '../static/model/obj/' )
-			// 	.load( '杞借揣鍙�.mtl', function ( materials ) {
-			// 		materials.preload();
-			// 		new OBJLoader( manager )
-			// 			.setMaterials( materials )
-			// 			.setPath( '../static/model/obj/' )
-			// 			.load( '杞借揣鍙�.obj', function ( object ) {
-			// 				object.position.z = -480;
-			// 				object.position.x = -1735;
-			// 				object.scale.set(0.03, 0.03, 0.03);
-			// 				object.rotateY(- Math.PI / 2)
-			// 				that.addObject( object );
-			// 			}, null, null );
-			// 	});
-			// new MTLLoader(manager)
-			// 	.setPath( '../static/model/obj/' )
-			// 	.load( '鍫嗗灈鏈烘湰浣�.mtl', function ( materials ) {
-			// 		materials.preload();
-			// 		new OBJLoader( manager )
-			// 			.setMaterials( materials )
-			// 			.setPath( '../static/model/obj/' )
-			// 			.load( '鍫嗗灈鏈烘湰浣�.obj', function ( object ) {
-			// 				object.position.z = -480;
-			// 				object.position.x = -1735;
-			// 				// object.position.z = 0;
-			// 				// object.position.x = 0;
-			// 				// object.position.y = 0;
-			// 				object.scale.set(0.03, 0.03, 0.03);
-			// 				object.rotateY(- Math.PI / 2)
-			// 				that.addObject( object );
-			// 			}, null, null );
-			// 	});
-		}
 		this.crnMove = function (object) {
 			for (let crnTask of this.crnTasks) {
 				crnTask.move();
 			}
 		}
+
+		// 鍔熻兘鏂规硶鍖�
+		this.changeStats = function () {
+			if (this.stats.domElement.style.display === 'none') {
+				this.stats.domElement.style.display = 'block';
+			} else {
+				this.stats.domElement.style.display = 'none';
+			}
+		}
+		this.changeBackGround = function () {
+			this.backgroundType = !this.backgroundType;
+			this.initBackground();
+		}
+		this.lockControl = function () {
+			this.camera.position.y = 100;
+			this.camera.lookAt(0,100,0);
+			this.controls.getObject().position.x =0;
+			this.controls.getObject().position.y =100;
+			this.controls.getObject().position.z =580;
+			this.controls.lock();
+		}
 	},
 
 };

--
Gitblit v1.9.1