From 9792c78835345a430886f0f2e40e2148a129925f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期三, 22 十二月 2021 14:04:05 +0800
Subject: [PATCH] #
---
 static/js/app.js |   67 +++++++++++++++++++++++++++------
 1 files changed, 55 insertions(+), 12 deletions(-)
diff --git a/static/js/app.js b/static/js/app.js
index 04ed3c5..fcb6f8e 100644
--- a/static/js/app.js
+++ b/static/js/app.js
@@ -46,6 +46,8 @@
 			this.initReSize(this);
 			this.initPointLockControl(this);
 			this.initFloor();
+			this.initBuilding();
+			this.initTransporter(this);
 		}
 		this.animate = function () {
 			requestAnimationFrame(this.animate.bind(this));
@@ -158,7 +160,7 @@
 				this.scene.background = new THREE.Color( 0xf0f0f0 );
 			} else {
 				const cubeTextureLoader = new THREE.CubeTextureLoader();
-				cubeTextureLoader.setPath( '../static/img/skybox/' );
+				cubeTextureLoader.setPath( '../static/img/skybox0/' );
 				this.scene.background = cubeTextureLoader.load([
 					"px.jpg", "nx.jpg",
 					"py.jpg", "ny.jpg",
@@ -253,6 +255,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 );
@@ -290,14 +294,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++) {
 				let tmpObject = this.objects[i];
@@ -330,9 +326,49 @@
 
 			// this.addObject(new Floor({position: {}}))
 		}
+		this.initBuilding = function () {
+			let buildingData = buildingObjects.objects;
+			for (let i = 0; i < buildingData.length; i++) {
+				let objectOption = buildingData[i];
+				switch (objectOption.objectType) {
+					case "cube":
+						let cube = new Cube(objectOption);
+						this.addObject(cube);
+						break;
+				}
+			}
+		}
+		this.initTransporter = function (object) {
+			// const manager = new THREE.LoadingManager();
+			// new MTLLoader(manager)
+			// 	.setPath( '../static/model/obj/' )
+			// 	.load( '13213.mtl', function ( materials ) {
+			// 		materials.preload();
+			// 		new OBJLoader( manager )
+			// 			.setMaterials( materials )
+			// 			.setPath( '../static/model/obj/' )
+			// 			.load( '13213.obj', function ( obj ) {
+			// 				obj.traverse (function (child) {
+			// 					if (child instanceof THREE.Mesh) {
+			// 						child.material = new THREE.MeshLambertMaterial({
+			// 							color: 0xCD6839
+			// 						});
+			// 					}
+			// 				});
+			//
+			// 				obj.scale.set(0.03, 0.03, 0.03);
+			// 				obj.rotateY(- Math.PI / 2);
+			// 				// obj.name = option.crnNo + "-body";
+			// 				obj.position.x = 0;
+			// 				obj.position.y = 0;
+			// 				obj.position.z = 0;
+			// 				object.addObject( obj );
+			// 			}, null, null );
+			// 	});
+
+		}
 		this.initStoreObjects = function (object) {
 			if (this.firstTime === 1) {
-				// initStore();
 				if (Store3DData !== undefined && Store3DData !== null) {
 					for(var group of Store3DData.data.store.groups) {
 						new StoreCrn(group.crn, object);
@@ -360,7 +396,7 @@
 			}
 		}
 		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) {
@@ -401,7 +437,14 @@
 			this.backgroundType = !this.backgroundType;
 			this.initBackground();
 		}
-
+		this.lockControl = function () {
+			this.camera.position.y = 100;
+			this.camera.lookAt(900,1100,0);
+			this.controls.getObject().position.x = -200;
+			this.controls.getObject().position.y = 200;
+			this.controls.getObject().position.z = 200;
+			this.controls.lock();
+		}
 	},
 
 };
--
Gitblit v1.9.1