Explorar o código

3dModeling buildingCreate.js 李欣儒 commit at 2020-12-11

李欣儒 %!s(int64=4) %!d(string=hai) anos
pai
achega
45b53dcddd
Modificáronse 1 ficheiros con 78 adicións e 0 borrados
  1. 78 0
      3dModeling/chly/buildingCreate.js

+ 78 - 0
3dModeling/chly/buildingCreate.js

@@ -258,3 +258,81 @@ function registerEvent() {
         }
         if (skyBox != null) {
             app.skyBox = skyBox;
+        }
+        // 重新创建小地图
+        if ($('#miniMap').hasClass('active')) {
+            destoryMiniMap();
+            createMiniMap();
+        }
+    });
+    // 行走按钮的鼠标点击事件
+    $('#moveByFps').on('click', function () {
+        stopRotate();
+        if ($(this).hasClass('active')) {
+            $(this).removeClass('active');
+            if (box != null) {
+                // 恢复默认双击进入层级事件
+                app.resumeEvent(THING.EventType.DBLClick, '*', THING.EventTag.LevelEnterOperation);
+                // 恢复默认右键退出层级事件
+                app.resumeEvent(THING.EventType.Click, '*', THING.EventTag.LevelBackOperation);
+                box.destroy();
+                box = null;
+            }
+            if (fpsCtrl != null) {
+                exitFps();
+            }
+        } else {
+            $(this).addClass('active');
+            // 禁用默认双击进入层级事件
+            app.pauseEvent(THING.EventType.DBLClick, '*', THING.EventTag.LevelEnterOperation);
+            // 禁用默认右键退出层级事件
+            app.pauseEvent(THING.EventType.Click, '*', THING.EventTag.LevelBackOperation);
+            // 记录摄像机当前位置
+            cameraInitPos = [app.camera.position, app.camera.target];
+            createBox();
+        }
+        checkBtnActives(['#mapBg', '#sceneSetting']);
+    });
+    // 全屏按钮的鼠标抬起事件
+    $('#fullScreen').mouseup(function () {
+        if (!fullScreenState) {
+            $('.btn-full-screen').css('display', 'none');
+            $('.btn-narrow').css('display', 'block');
+            $('#fullScreen span').text('退出全屏');
+            fullScreen();
+            fullScreenState = true;
+        } else {
+            $('.btn-full-screen').css('display', 'block');
+            $('.btn-narrow').css('display', 'none');
+            $('#fullScreen span').text('全屏');
+            exitFullScreen();
+            fullScreenState = false;
+            if ($('#mapBg').hasClass('active')) {
+                destoryMiniMap();
+                createMiniMap();
+            }
+        }
+        checkBtnActives(['#mapBg', '#sceneSetting']);
+    });
+    // 鼠标键按下事件,功能按钮隐藏
+    app.on(THING.EventType.MouseDown, function () {
+        app.pauseEvent(THING.EventType.CameraZoom, null, '摄像机前后滚动,功能图片隐藏');
+        if (showControlTimer != null) {
+            clearTimeout(showControlTimer);
+            showControlTimer = null;
+        }
+        stopRotate();
+        if (hiddenControlTimer == null) {
+            clearTimeout(showControlTimer);
+            hiddenControlTimer = setTimeout(function () {
+                $('#all-controls').css('display', 'none');
+                clearTimeout(hiddenControlTimer);
+                hiddenControlTimer = null;
+            }, 300);
+        }
+    });
+    // 鼠标键抬起事件,功能按钮显示
+    app.on(THING.EventType.MouseUp, function () {
+        app.resumeEvent(THING.EventType.CameraZoom, null, '摄像机前后滚动,功能图片隐藏');
+        if (hiddenControlTimer != null) {
+            clearTimeout(hiddenControlTimer);