Răsfoiți Sursa

Fix some picking/raycast examples for touch devices (#21494)

* Fix some picking/raycast examples for touch devices

TrackballControls and OrbitControls listen to pointer events, which can cause mouse events not to fire on Android devices. Fix some picking examples by listening to pointer events in them as well.

* Remove mousemove listeners from examples using pointermove

They're redundant - all modern browsers support pointer events.
Olli Etuaho 4 ani în urmă
părinte
comite
19bb1ae6f6

+ 1 - 1
examples/webgl_geometry_terrain_raycast.html

@@ -103,7 +103,7 @@
 				helper = new THREE.Mesh( geometryHelper, new THREE.MeshNormalMaterial() );
 				scene.add( helper );
 
-				container.addEventListener( 'mousemove', onMouseMove );
+				container.addEventListener( 'pointermove', onMouseMove );
 
 				stats = new Stats();
 				container.appendChild( stats.dom );

+ 3 - 1
examples/webgl_interactive_cubes_gpu.html

@@ -165,7 +165,7 @@
 				stats = new Stats();
 				container.appendChild( stats.dom );
 
-				renderer.domElement.addEventListener( 'mousemove', onMouseMove );
+				renderer.domElement.addEventListener( 'pointermove', onMouseMove, false );
 
 			}
 
@@ -173,6 +173,8 @@
 
 			function onMouseMove( e ) {
 
+				e.preventDefault();
+
 				mouse.x = e.clientX;
 				mouse.y = e.clientY;
 

+ 1 - 1
examples/webgl_raycast_sprite.html

@@ -81,7 +81,7 @@
 			group2.add( sprite3 );
 
 			window.addEventListener( 'resize', onWindowResize );
-			window.addEventListener( "mousemove", onDocumentMouseMove, false );
+			window.addEventListener( "pointermove", onDocumentMouseMove, false );
 
 		}