Browse Source

Examples: Fixed webgl_decals.

Mr.doob 4 years ago
parent
commit
2b477f0cca
1 changed files with 16 additions and 22 deletions
  1. 16 22
      examples/webgl_decals.html

+ 16 - 22
examples/webgl_decals.html

@@ -131,48 +131,42 @@
 
 
 				} );
 				} );
 
 
-				window.addEventListener( 'mousedown', function () {
+				window.addEventListener( 'pointerdown', function () {
 
 
 					moved = false;
 					moved = false;
 
 
 				}, false );
 				}, false );
 
 
-				window.addEventListener( 'mouseup', function () {
+				window.addEventListener( 'pointerup', function ( event ) {
 
 
-					checkIntersection();
-					if ( ! moved && intersection.intersects ) shoot();
+					if ( moved === false ) {
 
 
-				} );
+						checkIntersection( event.clientX, event.clientY );
 
 
-				window.addEventListener( 'mousemove', onTouchMove );
-				window.addEventListener( 'touchmove', onTouchMove );
+						if ( intersection.intersects ) shoot();
 
 
-				function onTouchMove( event ) {
+					}
 
 
-					var x, y;
+				} );
 
 
-					if ( event.changedTouches ) {
+				window.addEventListener( 'pointermove', onPointerMove );
 
 
-						x = event.changedTouches[ 0 ].pageX;
-						y = event.changedTouches[ 0 ].pageY;
+				function onPointerMove( event ) {
 
 
-					} else {
+					if ( event.isPrimary ) {
 
 
-						x = event.clientX;
-						y = event.clientY;
+						checkIntersection( event.clientX, event.clientY );
 
 
 					}
 					}
 
 
-					mouse.x = ( x / window.innerWidth ) * 2 - 1;
-					mouse.y = - ( y / window.innerHeight ) * 2 + 1;
-
-					checkIntersection();
-
 				}
 				}
 
 
-				function checkIntersection() {
+				function checkIntersection( x, y ) {
+
+					if ( mesh === undefined ) return;
 
 
-					if ( ! mesh ) return;
+					mouse.x = ( x / window.innerWidth ) * 2 - 1;
+					mouse.y = - ( y / window.innerHeight ) * 2 + 1;
 
 
 					raycaster.setFromCamera( mouse, camera );
 					raycaster.setFromCamera( mouse, camera );
 					raycaster.intersectObject( mesh, false, intersects );
 					raycaster.intersectObject( mesh, false, intersects );