소스 검색

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
3개의 변경된 파일5개의 추가작업 그리고 3개의 파일을 삭제
  1. 1 1
      examples/webgl_geometry_terrain_raycast.html
  2. 3 1
      examples/webgl_interactive_cubes_gpu.html
  3. 1 1
      examples/webgl_raycast_sprite.html

+ 1 - 1
examples/webgl_geometry_terrain_raycast.html

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

+ 3 - 1
examples/webgl_interactive_cubes_gpu.html

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

+ 1 - 1
examples/webgl_raycast_sprite.html

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