|  | @@ -366,3 +366,103 @@ function registerEvent() {
 | 
	
		
			
				|  |  |                      showControlTimer = null;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }, 300);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }, '摄像机前后滚动,功能图片隐藏');
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    // 鼠标移动事件,已创建的红色胶囊跟随鼠标移动
 | 
	
		
			
				|  |  | +    app.on(THING.EventType.MouseMove, function (ev) {
 | 
	
		
			
				|  |  | +        if (box != null) {
 | 
	
		
			
				|  |  | +            if (ev.picked) {
 | 
	
		
			
				|  |  | +                box.position = ev.pickedPosition;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +    // 摄像机位置改变结束事件,记录当前摄像机位置与目标点x,y,z的差
 | 
	
		
			
				|  |  | +    app.on(THING.EventType.CameraChangeEnd, function () {
 | 
	
		
			
				|  |  | +        if (cameraDistace.length > 0) {
 | 
	
		
			
				|  |  | +            let caPos = app.camera.position;
 | 
	
		
			
				|  |  | +            let scePos = app.root.defaultCampus.position;
 | 
	
		
			
				|  |  | +            cameraDistace = [caPos[0] - scePos[0], caPos[1] - scePos[1], caPos[2] - scePos[2]];
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        restarRotate();
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +    // 点击事件,放置红色胶囊,进入第一人称行走
 | 
	
		
			
				|  |  | +    app.on(THING.EventType.Click, function (ev) {
 | 
	
		
			
				|  |  | +        stopRotate();
 | 
	
		
			
				|  |  | +        if (ev.button == 0 && box != null) {
 | 
	
		
			
				|  |  | +            let pos = box.position;
 | 
	
		
			
				|  |  | +            box.destroy();
 | 
	
		
			
				|  |  | +            box = null;
 | 
	
		
			
				|  |  | +            app.camera.flyTo(pos);
 | 
	
		
			
				|  |  | +            enterFps([pos[0], pos[1] + 2, pos[2]]);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        checkBtnActives(['#mapBg', '#sceneSetting']);
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +    // 进入层级事件,退出第一人称行走
 | 
	
		
			
				|  |  | +    app.on(THING.EventType.EnterLevel, function () {
 | 
	
		
			
				|  |  | +        if (fpsCtrl != null) {
 | 
	
		
			
				|  |  | +            exitFps();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +    // 离开层级事件,停止旋转
 | 
	
		
			
				|  |  | +    app.on(THING.EventType.LeaveLevel, function () {
 | 
	
		
			
				|  |  | +        stopRotate();
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +    // 鼠标滑轮事件,停止旋转
 | 
	
		
			
				|  |  | +    app.on(THING.EventType.MouseWheel, function () {
 | 
	
		
			
				|  |  | +        stopRotate();
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +    // 场景添加键盘按下事件,当进入第一人称行走时,按下esc键退出第一人称行走
 | 
	
		
			
				|  |  | +    app.on(THING.EventType.KeyDown, function (ev) {
 | 
	
		
			
				|  |  | +        if (ev.code == 'Escape') {
 | 
	
		
			
				|  |  | +            if (box != null) {
 | 
	
		
			
				|  |  | +                app.resumeEvent(THING.EventType.DBLClick, '*', THING.EventTag.LevelEnterOperation);
 | 
	
		
			
				|  |  | +                app.resumeEvent(THING.EventType.Click, '*', THING.EventTag.LevelBackOperation);
 | 
	
		
			
				|  |  | +                box.destroy();
 | 
	
		
			
				|  |  | +                box = null;
 | 
	
		
			
				|  |  | +                $('#moveByFps').removeClass('active');
 | 
	
		
			
				|  |  | +                restarRotate();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (fpsCtrl != null) {
 | 
	
		
			
				|  |  | +                exitFps();
 | 
	
		
			
				|  |  | +                restarRotate();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            checkBtnActives(['#mapBg', '#sceneSetting']);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +    window.onresize = function () {
 | 
	
		
			
				|  |  | +        if (!checkFull()) {
 | 
	
		
			
				|  |  | +            //要执行的动作
 | 
	
		
			
				|  |  | +            if (fullScreenState == true) {
 | 
	
		
			
				|  |  | +                $('.btn-full-screen').css('display', 'block');
 | 
	
		
			
				|  |  | +                $('.btn-narrow').css('display', 'none');
 | 
	
		
			
				|  |  | +                $('#fullScreen span').text('全屏');
 | 
	
		
			
				|  |  | +                fullScreenState = false;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +//====设备闪烁提示====
 | 
	
		
			
				|  |  | +function flash(objArray) {
 | 
	
		
			
				|  |  | +    objArray.forEach(function (obj) {
 | 
	
		
			
				|  |  | +        obj.on('update', function () {
 | 
	
		
			
				|  |  | +            obj.style.color = '#FFF000'
 | 
	
		
			
				|  |  | +            obj.style.opacity = 0.5 + 0.5 * Math.sin(2 * app.elapsedTime / 500);
 | 
	
		
			
				|  |  | +        }, '每帧改变透明度');
 | 
	
		
			
				|  |  | +    })
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +function queryDeviceStatus(evt) {
 | 
	
		
			
				|  |  | +    objArray = evt.data;
 | 
	
		
			
				|  |  | +    // objArray.forEach(function (deviceobj) {
 | 
	
		
			
				|  |  | +    //     obj = app.query("#" + deviceobj.ownerCode)[0];
 | 
	
		
			
				|  |  | +    //     obj.on('update', function () {
 | 
	
		
			
				|  |  | +    //         obj.style.color = '#FF0000'
 | 
	
		
			
				|  |  | +    //         obj.style.opacity = 0.5 + 0.5 * Math.sin(2 * app.elapsedTime / 500);
 | 
	
		
			
				|  |  | +    //     }, '每帧改变透明度');
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    // })
 | 
	
		
			
				|  |  | +    obj = app.query("#" + objArray)[0];
 | 
	
		
			
				|  |  | +    obj.on('update', function () {
 |