xzw vor 2 Jahren
Ursprung
Commit
c80c270d39
3 geänderte Dateien mit 23 neuen und 4 gelöschten Zeilen
  1. 10 3
      public/package/js/objViewer.js
  2. 12 0
      public/package/js/utils.js
  3. 1 1
      src/views/Home_pc.vue

+ 10 - 3
public/package/js/objViewer.js

@@ -52,6 +52,8 @@ Viewer.constructor = Viewer
 Viewer.prototype.bindEvents = function () {
     this.renderer.domElement.addEventListener('pointerdown', this.onPointerDown.bind(this), false);
     this.renderer.domElement.addEventListener('pointerup', this.onPointerUp.bind(this), false);
+    this.renderer.domElement.addEventListener('pointermove', this.onPointerMove.bind(this), false);
+    
 }
 
 Viewer.prototype.setRenderer = function () {
@@ -172,14 +174,14 @@ Viewer.prototype.animate = function () {
         this.dispatchEvent({ type: 'view.changed'/* , changeSlightly: changed.changeSlightly */ })
         delayNeedUpdated = true
 
-        if (!transitions.funcs.some(function (e) { return e.name === 'cameraFly' })) {
+        if (!transitions.funcs.some(function (e) { return e.name.includes('cameraFly') })) {
             convertTool.intervalTool.isWaiting('delayUpdate', () => { //延时update,防止卡顿
                 if (delayNeedUpdated) {
                     delayNeedUpdated = false
                     this.dispatchEvent({ type: 'delayUpdate' })
                     return true
                 }
-            }, 200)
+            }, 300)
         }
 
 
@@ -316,7 +318,12 @@ Viewer.prototype.onPointerMove = function (event) {
     if (event.isPrimary === false) return;
     mouse.x = (event.clientX / window.innerWidth) * 2 - 1;
     mouse.y = - (event.clientY / window.innerHeight) * 2 + 1;
-    if (!this.pointerDownPos) this.checkIntersection();
+    if (!this.pointerDownPos){
+        //this.checkIntersection();
+    }else{
+        transitions.cancelByName('cameraFly2')
+    }
+    //console.log('onPointerMove', this.pointerDownPos)
 }
 Viewer.prototype.onPointerDown = function (event) {
     if (event.isPrimary === false) return;

+ 12 - 0
public/package/js/utils.js

@@ -363,6 +363,18 @@ var transitions = {
             return !is
         })
     },
+    cancelByName: function (e, dealCancelFun) { //xzw add dealDone
+        var t = void 0 === e ? 0 : e;
+
+        this.funcs = this.funcs.filter(function (e) {
+            var is = e.name == t;
+
+            if (is && dealCancelFun) {
+                e.cancelFun && e.cancelFun()
+            }
+            return !is
+        })
+    },
     cancel: function (e) {
         this.funcs = this.funcs.filter(function (t) {
             return t.func !== e

+ 1 - 1
src/views/Home_pc.vue

@@ -48,7 +48,7 @@ let labelClick = (e) => {
       () => { },
       0/* Delay */,
       window.easing.easeInOutQuad,
-      'cameraFly');
+      'cameraFly2');
   }
 }