Browse Source

Merge remote-tracking branch 'nraynaud/patch-1' into dev

Mr.doob 11 years ago
parent
commit
b6a4cb9399
1 changed files with 11 additions and 15 deletions
  1. 11 15
      examples/js/controls/TrackballControls.js

+ 11 - 15
examples/js/controls/TrackballControls.js

@@ -6,7 +6,7 @@
 THREE.TrackballControls = function ( object, domElement ) {
 THREE.TrackballControls = function ( object, domElement ) {
 
 
 	var _this = this;
 	var _this = this;
-	var STATE = { NONE: -1, ROTATE: 0, ZOOM: 1, PAN: 2, TOUCH_ROTATE: 3, TOUCH_ZOOM: 4, TOUCH_PAN: 5 };
+	var STATE = { NONE: -1, ROTATE: 0, ZOOM: 1, PAN: 2, TOUCH_ROTATE: 3, TOUCH_ZOOM: 4 };
 
 
 	this.object = object;
 	this.object = object;
 	this.domElement = ( domElement !== undefined ) ? domElement : document;
 	this.domElement = ( domElement !== undefined ) ? domElement : document;
@@ -504,11 +504,9 @@ THREE.TrackballControls = function ( object, domElement ) {
 				var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX;
 				var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX;
 				var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY;
 				var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY;
 				_touchZoomDistanceEnd = _touchZoomDistanceStart = Math.sqrt( dx * dx + dy * dy );
 				_touchZoomDistanceEnd = _touchZoomDistanceStart = Math.sqrt( dx * dx + dy * dy );
-				break;
-
-			case 3:
-				_state = STATE.TOUCH_PAN;
-				_panEnd.copy( _this.getMouseOnScreen( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY, _panStart ));
+				var x = (event.touches[ 0 ].pageX + event.touches[ 1 ].pageX) / 2;
+                		var y = (event.touches[ 0 ].pageY + event.touches[ 1 ].pageY) / 2;
+                		_panEnd.copy( _this.getMouseOnScreen( x, y, _panStart ));
 				break;
 				break;
 
 
 			default:
 			default:
@@ -536,11 +534,10 @@ THREE.TrackballControls = function ( object, domElement ) {
 			case 2:
 			case 2:
 				var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX;
 				var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX;
 				var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY;
 				var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY;
-				_touchZoomDistanceEnd = Math.sqrt( dx * dx + dy * dy )
-				break;
-
-			case 3:
-				_this.getMouseOnScreen( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY, _panEnd );
+				_touchZoomDistanceEnd = Math.sqrt( dx * dx + dy * dy );
+				var x = (event.touches[ 0 ].pageX + event.touches[ 1 ].pageX) / 2;
+                		var y = (event.touches[ 0 ].pageY + event.touches[ 1 ].pageY) / 2;
+                		_this.getMouseOnScreen( x, y, _panEnd );
 				break;
 				break;
 
 
 			default:
 			default:
@@ -562,10 +559,9 @@ THREE.TrackballControls = function ( object, domElement ) {
 
 
 			case 2:
 			case 2:
 				_touchZoomDistanceStart = _touchZoomDistanceEnd = 0;
 				_touchZoomDistanceStart = _touchZoomDistanceEnd = 0;
-				break;
-
-			case 3:
-				_panStart.copy( _this.getMouseOnScreen( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY, _panEnd ));
+				var x = ( event.touches[ 0 ].pageX + event.touches[ 1 ].pageX ) / 2;
+                		var y = ( event.touches[ 0 ].pageY + event.touches[ 1 ].pageY ) / 2;
+                		_panStart.copy( _this.getMouseOnScreen(x, y, _panEnd ));
 				break;
 				break;
 
 
 		}
 		}