ChangeScene.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. app.on(THING.EventType.LoadCampusProgress, function (ev) {
  2. var value = ev.progress;
  3. dataObj.progress = value;
  4. }, '加载场景进度');
  5. // 配置相应建筑的园区场景url
  6. /**
  7. * 切换场景
  8. */
  9. function changeScene(campusData) {
  10. createCampus(campusData);
  11. }
  12. /**
  13. * 创建园区
  14. */
  15. function createCampus(obj) {
  16. app.create({
  17. type: "Campus",
  18. url: obj.url,
  19. position: [0, 0, 0],
  20. visible: false, // 创建园区过程中隐藏园区
  21. complete: function (ev) {
  22. $(".warninfo3").html('本例程通过动态创建场景,实现场景切换。场景切换后,双击进入建筑,可动态创建楼层。<br><br>当前位于:' + obj.name);
  23. // curCampus.destroy(); // 新园区创建完成后删除之前的
  24. curCampus = ev.object; // 将新园区赋给全局变量
  25. curCampus.fadeIn(); // 创建完成后显示(渐现)
  26. app.level.change(curCampus); // 开启层级切换
  27. var building = app.query(".Building"); // 获取园区中的建筑
  28. creatFloorChoose();//创建楼层选择器
  29. }
  30. });
  31. }
  32. /**
  33. * 创建进度条组件
  34. */
  35. function createWidgets() {
  36. // 进度条界面组件
  37. loadingPanel = new THING.widget.Panel({
  38. titleText: '场景加载进度',
  39. opacity: 0.9, // 透明度
  40. hasTitle: true
  41. });
  42. // 设置进度条界面位置
  43. loadingPanel.positionOrigin = 'TR'// 基于界面右上角定位
  44. loadingPanel.position = ['100%', 0];
  45. loadingPanel.visible = false;
  46. loadingPanel.addNumberSlider(dataObj, 'progress').step(0.01).min(0).max(1).isPercentage(true);
  47. }