人生啊人生 10 месяцев назад
Родитель
Сommit
20928797d5
1 измененных файлов с 60 добавлено и 2 удалено
  1. 60 2
      src/components/student/ThreeWorldEvent/event/TypeClick.ts

+ 60 - 2
src/components/student/ThreeWorldEvent/event/TypeClick.ts

@@ -104,8 +104,24 @@ export class TypeClick {
                     // 切换成正在处理中
                     TypeEvent.find().eventEnd = 1;
 
-
-
+                    // 切换视角
+                    objIframeEdit.modelPeopleLook(3);
+                    objIframeEdit.cameraVisualAngleGetListNameGpsTo("车门");
+                    objIframeEdit.roleShow(false);
+
+                    let thisTime = new Date().getTime();
+
+                    ComVal.find().fpsEventAdd("type_click_" + thisTime, {}, 1500, function(fpsEventAddRet : any) {
+                        ComVal.find().fpsEventDel(fpsEventAddRet.code);
+                        thisClass.openCarMen(function() {
+                            
+                            TypeEvent.find().eventEnd = 2;
+                            TypeEvent.find().tipsBtnsUpOpenEventCallbackMain(false);
+                            TypeEvent.find().tipsBtnsDownOpenEventCallbackMain(true);
+
+                        });
+                    });
+                    
                 }
                 
                 break;
@@ -138,6 +154,48 @@ export class TypeClick {
         
     }
     
+    /**
+     * 开启车门
+     * callback     开启完成回调
+     */
+    openCarMen = (callback : any) => {
+
+        let thisClass = this;
+        let objIframeEdit = this.objIframeEdit;
+        let objIframe = this.objIframe;
+        let objScene = this.objScene;
+        let BABYLON = this.BABYLON;
+        let ChengGuangYuanJing = objIframe.ChengGuangYuanJing;
+
+        // 播放动画列表
+        let playList = [
+            { "name" : "车门", "speed" : 1, "from" : 0, "to" : 120 },
+        ];
+        // 动画播放完成次数
+        let playEndNum = 0;
+        for (let i = 0; i < playList.length; i++) {
+
+            let thisPlayList = playList[i];
+            ChengGuangYuanJing.CommonVal.find().animationGroupsEventCallback(
+                thisPlayList.name, 'start', thisPlayList.speed, thisPlayList.from, thisPlayList.to, false, null,
+                function(state : any, objAnimation : any) {
+
+                    if (state == "播放完成") {
+
+                        playEndNum += 1;
+                        if (playEndNum >= playList.length) {
+                            callback("yes");
+                        }
+                        
+                    }
+                    
+                }
+            );
+
+        }
+
+    }
+
 
     /**
      * 根据物体id 和 类型,判断是否在物体列表中