Explorar el Código

OrbitControls: Use `onPointerUp()` for `pointercancel` events. (#25540)

* OrbitControls: Set state to `NONE` in `onPointerCancel()`.

* OrbitContorls: Use `onPointerUp()` for pointercancel events.
Michael Herzog hace 2 años
padre
commit
05f6df72ff
Se han modificado 1 ficheros con 10 adiciones y 16 borrados
  1. 10 16
      examples/jsm/controls/OrbitControls.js

+ 10 - 16
examples/jsm/controls/OrbitControls.js

@@ -301,7 +301,7 @@ class OrbitControls extends EventDispatcher {
 			scope.domElement.removeEventListener( 'contextmenu', onContextMenu );
 
 			scope.domElement.removeEventListener( 'pointerdown', onPointerDown );
-			scope.domElement.removeEventListener( 'pointercancel', onPointerCancel );
+			scope.domElement.removeEventListener( 'pointercancel', onPointerUp );
 			scope.domElement.removeEventListener( 'wheel', onMouseWheel );
 
 			scope.domElement.removeEventListener( 'pointermove', onPointerMove );
@@ -883,26 +883,20 @@ class OrbitControls extends EventDispatcher {
 
 		function onPointerUp( event ) {
 
-		    removePointer( event );
-
-		    if ( pointers.length === 0 ) {
-
-		        scope.domElement.releasePointerCapture( event.pointerId );
-
-		        scope.domElement.removeEventListener( 'pointermove', onPointerMove );
-		        scope.domElement.removeEventListener( 'pointerup', onPointerUp );
+			removePointer( event );
 
-		    }
+			if ( pointers.length === 0 ) {
 
-		    scope.dispatchEvent( _endEvent );
+				scope.domElement.releasePointerCapture( event.pointerId );
 
-		    state = STATE.NONE;
+				scope.domElement.removeEventListener( 'pointermove', onPointerMove );
+				scope.domElement.removeEventListener( 'pointerup', onPointerUp );
 
-		}
+			}
 
-		function onPointerCancel( event ) {
+			scope.dispatchEvent( _endEvent );
 
-			removePointer( event );
+			state = STATE.NONE;
 
 		}
 
@@ -1254,7 +1248,7 @@ class OrbitControls extends EventDispatcher {
 		scope.domElement.addEventListener( 'contextmenu', onContextMenu );
 
 		scope.domElement.addEventListener( 'pointerdown', onPointerDown );
-		scope.domElement.addEventListener( 'pointercancel', onPointerCancel );
+		scope.domElement.addEventListener( 'pointercancel', onPointerUp );
 		scope.domElement.addEventListener( 'wheel', onMouseWheel, { passive: false } );
 
 		// force an update at start