Parcourir la source

3dModeling ChangeScene.js 韩正义 commit at 2021-04-26

韩正义 il y a 4 ans
Parent
commit
cf10d5cd54
1 fichiers modifiés avec 54 ajouts et 0 suppressions
  1. 54 0
      3dModeling/sgec111/ChangeScene.js

+ 54 - 0
3dModeling/sgec111/ChangeScene.js

@@ -0,0 +1,54 @@
+app.on(THING.EventType.LoadCampusProgress, function (ev) {
+    var value = ev.progress;
+    dataObj.progress = value;
+}, '加载场景进度');
+// 配置相应建筑的园区场景url
+
+/**
+ * 切换场景
+ */
+function changeScene(campusData) {
+    createCampus(campusData);
+}
+
+/**
+ * 创建园区
+ */
+function createCampus(obj) {
+    app.create({
+        type: "Campus",
+        url: obj.url,
+        position: [0, 0, 0],
+        visible: false, // 创建园区过程中隐藏园区
+        complete: function (ev) {
+            $(".warninfo3").html('本例程通过动态创建场景,实现场景切换。场景切换后,双击进入建筑,可动态创建楼层。<br><br>当前位于:' + obj.name);
+            // curCampus.destroy();  // 新园区创建完成后删除之前的
+            curCampus = ev.object;  // 将新园区赋给全局变量
+            curCampus.fadeIn();  // 创建完成后显示(渐现)
+            app.level.change(curCampus);  // 开启层级切换
+
+            var building = app.query(".Building");  // 获取园区中的建筑
+            creatFloorChoose();//创建楼层选择器
+        }
+    });
+}
+
+/**
+ * 创建进度条组件
+ */
+function createWidgets() {
+    // 进度条界面组件
+    loadingPanel = new THING.widget.Panel({
+        titleText: '场景加载进度',
+        opacity: 0.9, // 透明度
+        hasTitle: true
+    });
+
+    // 设置进度条界面位置
+    loadingPanel.positionOrigin = 'TR'// 基于界面右上角定位
+    loadingPanel.position = ['100%', 0];
+
+    loadingPanel.visible = false;
+
+    loadingPanel.addNumberSlider(dataObj, 'progress').step(0.01).min(0).max(1).isPercentage(true);
+}