人生啊人生 10 ヶ月 前
コミット
8284049d9d

+ 3 - 1
src/components/student/CourseChapter3d.vue

@@ -178,7 +178,9 @@ const initScene = () => {
         storesObj
     );
 
-    TypeEvent.find().typeEvent(props.config?.threeDimensionalConfig);
+    // TypeEvent.find().typeEvent(props.config?.threeDimensionalConfig);
+
+    TypeEvent.find().typeEvent('threeWorld_one_init');
     
     // // @ts-ignore
     // threeWorld().obj.newIframe.cameraVisualAngleGetListNameGpsTo("检测车");

+ 89 - 3
src/components/student/ThreeWorldEvent/event/TypeEvent.ts

@@ -62,6 +62,8 @@ export class TypeEvent {
      */
     typeEvent = (type : any) => {
 
+        let thisClass = this;
+
         console.log(
             "根据不同的类型,切换对应的3d逻辑",
             type
@@ -71,14 +73,15 @@ export class TypeEvent {
             this.storesObj.courseChapter3dShow.show.threeWorldMask = false;
             return this;
         }
-
+        
         this.storesObj.courseChapter3dShow.show.threeWorldMask = true;
         
         switch(type) {
 
-            // 操作帮助
-            case 'operationHelp':
+            // 初始化第一个步骤视角
+            case 'threeWorld_one_init':
                 
+                thisClass.animationAllTypeUpdate('stopAll');
                 break;
                 
             // 设备拆解
@@ -94,7 +97,90 @@ export class TypeEvent {
         
     }
     
+    
+     /**
+     * 切换对应的动画结果
+     * type     类型
+     */
+     public animationAllTypeUpdate = (type : any) => {
+    
+        let objIframeEdit = this.objIframeEdit;
+        let objIframe = this.objIframe;
+        let objScene = this.objScene;
+        let BABYLON = this.BABYLON;
+
+        let ChengGuangYuanJing = objIframe.ChengGuangYuanJing;
+        
+        // 通过配置来更新动画
+        let list : any = [];
+
+        switch (type) {
+
+            // 停止所有动画放到对应的合理位置
+            case 'stopAll':
+                
+                list = [
+                    
+                    { "name" : "车厢侧门", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "钥匙", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "车门", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "卷帘门01-1", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "卷帘门01-2", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "卷帘门01-3", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "卷帘门02-1", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "卷帘门02-2", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "卷帘门02-3", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "卷盘", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "离合", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "水枪", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "水枪管", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "喷头", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "水管", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "波纹管", "speed" : 1, "from" : 0, "to" : 0 },
+                    
+                ];
+
+                break;
+
+            // 进入拆箱前的动画
+            case 'beforeUnboxing':
+
+                list = [
+
+                    { "name" : "", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "", "speed" : 1, "from" : 0, "to" : 0 },
+                    { "name" : "", "speed" : 1, "from" : 0, "to" : 0 },
+                    
+                ];
+                
+                break;
+                
+            // case '':
+            //     break;
+
+            // case '':
+            //     break;
+            
+        }
+        
+        for (let i = 0; i < list.length; i++) {
+
+            let thisList = list[i];
+            ChengGuangYuanJing.CommonVal.find().animationGroupsEventCallback(
+                thisList.name, 'start', thisList.speed, thisList.from, thisList.to, false, null, function(state : any, objAnimation : any) {
+
+                    if (state == "播放完成") {
+                        
+                    }
+                    
+                }
+            );
+
+        }
 
+    };