瀏覽代碼

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 年之前
父節點
當前提交
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 );
 
 		}