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