Explorar o código

fix: label shelter bug

xzw %!s(int64=2) %!d(string=hai) anos
pai
achega
80b1c16056
Modificáronse 1 ficheiros con 4 adicións e 1 borrados
  1. 4 1
      public/package/js/label.js

+ 4 - 1
public/package/js/label.js

@@ -50,7 +50,7 @@ class Label2D extends THREE.EventDispatcher {
 
 
     update(e={}) {
-        if (!this.position || !this.visible) return
+        if (!this.position || !this.visible || !e.changeSlightly && this.sheltered) return
 
         var p = convertTool.getPos2d(this.position, viewer.camera, $("#player")[0]);
         if (!p || !p.trueSide) {
@@ -61,7 +61,10 @@ class Label2D extends THREE.EventDispatcher {
 
         if (e.changeSlightly){//防卡: 画面要停止转动时才执行
             if (this.shelterByModel && convertTool.ifShelter(this.position, p.vector, viewer.camera, viewer.model.children, 0.05)) {
+                this.sheltered = true
                 this.elem.css('display', 'none'); return;
+            }else{
+                this.sheltered = false
             }
         }else{
             //console.log('!changeSlightly')