Explorar o código

fixed issue with pointerlock not unlocking with freecamera

Adam Bowman %!s(int64=9) %!d(string=hai) anos
pai
achega
cf4d12b7f9
Modificáronse 1 ficheiros con 7 adicións e 0 borrados
  1. 7 0
      src/Cameras/Inputs/babylon.freecamera.input.mouse.ts

+ 7 - 0
src/Cameras/Inputs/babylon.freecamera.input.mouse.ts

@@ -10,6 +10,7 @@ module BABYLON {
         private _observer: Observer<PointerInfo>;
 
         private previousPosition: { x: number, y: number };
+        private _isPointerLock = false;
 
         constructor(public touchEnabled = true) {
         }
@@ -25,6 +26,12 @@ module BABYLON {
                         return;
                     }
 
+                    if (this._isPointerLock && !engine.isPointerLock) {
+						this.previousPosition = null;
+					}
+					
+					this._isPointerLock = engine.isPointerLock;
+
                     if (p.type === PointerEventTypes.POINTERDOWN) {
                         try {
                             evt.srcElement.setPointerCapture(evt.pointerId);