Browse Source

fix: 解决有时候kankan场景左右不会同步的bug。 因为scene可能已经loaded了不会等待loaded

xzw 11 months ago
parent
commit
3b77d9e215
2 changed files with 11 additions and 7 deletions
  1. 1 1
      src/utils/ConvertViews.js
  2. 10 6
      src/utils/sync.js

+ 1 - 1
src/utils/ConvertViews.js

@@ -50,7 +50,7 @@ export default class ConvertViews extends THREE.EventDispatcher{
     
     
      
      
     bindWithSameType(sourceApp,targetApp, isSwitchScene){ //左右分屏 同类型
     bindWithSameType(sourceApp,targetApp, isSwitchScene){ //左右分屏 同类型
-         
+        console.log('bindWithSameType') 
          
          
         let reverse = isSwitchScene == 'source' //如果是左屏被换,则是左屏要跟右屏同步
         let reverse = isSwitchScene == 'source' //如果是左屏被换,则是左屏要跟右屏同步
          
          

+ 10 - 6
src/utils/sync.js

@@ -104,10 +104,14 @@ export function loadSourceScene(sourceFrame,type,mode) {
             loaded()
             loaded()
         })  
         })  
     }else if(type == 'kankan'){  
     }else if(type == 'kankan'){  
-        win.app.Scene.on('loaded', (e) => {
-            
+        if(win.app.Scene.loaded){
             loaded()
             loaded()
-        })
+        }else{ 
+            win.app.Scene.on('loaded', (e) => {
+                
+                loaded()
+            })
+        }
     }
     }
 }
 }
 
 
@@ -141,10 +145,10 @@ export function loadTargetScene(targetFrame, type, mode) {
     
     
     
     
     if(type == 'kankan'){  
     if(type == 'kankan'){  
-        if(win.app.Scene.loaded){
+        if(win.app.Scene.loaded){ 
             loaded()
             loaded()
-        }else{
-         win.app.Scene.on('loaded', () => { 
+        }else{ 
+         win.app.Scene.on('loaded', () => {  
             loaded()
             loaded()
         })}
         })}
     }else{
     }else{