From 1bca763ee1fd55c6136557ac399c1a55672ecb72 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期五, 31 十二月 2021 10:26:59 +0800
Subject: [PATCH] #

---
 static/js/app.js                 |   13 +++++++++++++
 static/js/object/ObjectSelect.js |   30 ++++++++++++++++++++++++++++++
 views/index.html                 |    5 +++--
 3 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/static/js/app.js b/static/js/app.js
index 075903c..fe024a4 100644
--- a/static/js/app.js
+++ b/static/js/app.js
@@ -45,6 +45,7 @@
 			this.initStats();
 			this.initLight();
 			this.initReSize(this);
+			this.initObjectSelect();
 			this.initPointLockControl(this);
 			this.initFloor();
 			this.initBuilding();
@@ -178,6 +179,18 @@
 				object.renderer.setSize(window.innerWidth, window.innerHeight);
 			}, false);
 		}
+		this.initOutLine = function(){
+			// this.outlinePass = new THREE.OutlinePass(new THREE.Vector2(window.innerWidth, window.innerWidth), this.scene, this.camera);
+			// this.outlinePass.edgeStrength = 10;//鍖呭洿绾挎祿搴�
+			// this.outlinePass.edgeGlow = 0.1;//杈圭紭绾胯寖鍥�
+			// this.outlinePass.edgeThickness = 1;//杈圭紭绾挎祿搴�
+			// this.outlinePass.pulsePeriod = 2;//鍖呭洿绾块棯鐑佽瘎鐜�
+			// this.outlinePass.visibleEdgeColor.set('#B31985');//鍖呭洿绾块鑹�
+			// this.outlinePass.hiddenEdgeColor.set('#190a05');//琚伄鎸$殑杈圭晫绾块鑹�
+		}
+		this.initObjectSelect = function(){
+			new ObjectSelect(this.scene, this.camera);
+		}
 		this.initPointLockControl = function(object){
 			this.controls = new PointerLockControls( this.camera, document.body );
 			this.raycaster = new THREE.Raycaster( new THREE.Vector3(), new THREE.Vector3( 0, - 1, 0 ), 0,  50 );
diff --git a/static/js/object/ObjectSelect.js b/static/js/object/ObjectSelect.js
new file mode 100644
index 0000000..08069ea
--- /dev/null
+++ b/static/js/object/ObjectSelect.js
@@ -0,0 +1,30 @@
+function ObjectSelect(_scene, _camera,outlinePass) {
+    var raycaster = new THREE.Raycaster();
+    var mouse = new THREE.Vector2();
+    var selectedObjects = [];
+
+    window.addEventListener( 'click', onMouseClick);
+
+    function onMouseClick(event) {
+        let x, y;
+        if (event.changedTouches) {
+            x = event.changedTouches[0].pageX;
+            y = event.changedTouches[0].pageY;
+        } else {
+            x = event.clientX;
+            y = event.clientY;
+        }
+        mouse.x = (x/ window.innerWidth) * 2 - 1;
+        mouse.y = -(y/ window.innerHeight) * 2 + 1;
+        raycaster.setFromCamera(mouse, _camera);
+        var intersects = raycaster.intersectObjects([_scene], true);
+
+
+        if (intersects.length === 0) {
+            return;
+        }
+        let selectObject = intersects[0].object;
+        console.log(selectObject)
+    }
+
+}
diff --git a/views/index.html b/views/index.html
index a56dff4..91c2d41 100644
--- a/views/index.html
+++ b/views/index.html
@@ -23,6 +23,7 @@
     <script type="text/javascript" src="../static/js/object/Route.js"></script>
     <script type="text/javascript" src="../static/js/object/CrnTask.js"></script>
     <script type="text/javascript" src="../static/js/object/Floor.js"></script>
+    <script type="text/javascript" src="../static/js/object/ObjectSelect.js"></script>
 </head>
 <body>
 
@@ -234,8 +235,8 @@
     var speedDom = document.getElementById("speed");
     var timer = setInterval(function () {
         if (percent < 100.00) {
-            percent += 0.04;
-            // percent += 1;
+            // percent += 0.04;
+            percent += 1;
             speedDom.innerText = percent.toFixed(2);
         } else {
             speedDom.innerText = '100.00';

--
Gitblit v1.9.1