Răsfoiți Sursa

Merge pull request #12181 from olga-microsoft/msft/pointerlock

Update cube sample to take pointerlock...
Mr.doob 7 ani în urmă
părinte
comite
ef13886100
1 a modificat fișierele cu 18 adăugiri și 0 ștergeri
  1. 18 0
      examples/webvr_cubes.html

+ 18 - 0
examples/webvr_cubes.html

@@ -142,6 +142,8 @@
 
 				//
 
+				window.addEventListener( 'vrdisplaypointerrestricted', onPointerRestricted, false );
+				window.addEventListener( 'vrdisplaypointerunrestricted', onPointerUnrestricted, false );
 				window.addEventListener( 'resize', onWindowResize, false );
 
 			}
@@ -158,6 +160,22 @@
 
 			}
 
+			function onPointerRestricted() {
+				var pointerLockElement = renderer.domElement;
+				if ( pointerLockElement && typeof(pointerLockElement.requestPointerLock) === 'function' ) {
+					pointerLockElement.requestPointerLock();
+
+				}
+			}
+
+			function onPointerUnrestricted() {
+				var currentPointerLockElement = document.pointerLockElement;
+				var expectedPointerLockElement = renderer.domElement;
+				if ( currentPointerLockElement && currentPointerLockElement === expectedPointerLockElement && typeof(document.exitPointerLock) === 'function' ) {
+					document.exitPointerLock();
+				}
+			}
+
 			function onWindowResize() {
 
 				camera.aspect = window.innerWidth / window.innerHeight;