瀏覽代碼

allow 2 fingers pan in TrackballControls.js

Nicolas Raynaud 11 年之前
父節點
當前提交
ffddb9061a
共有 1 個文件被更改,包括 10 次插入1 次删除
  1. 10 1
      examples/js/controls/TrackballControls.js

+ 10 - 1
examples/js/controls/TrackballControls.js

@@ -500,6 +500,9 @@ THREE.TrackballControls = function ( object, domElement ) {
 				var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX;
 				var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY;
 				_touchZoomDistanceEnd = _touchZoomDistanceStart = 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;
+                		_panStart = _panEnd = _this.getMouseOnScreen(x, y);
 				break;
 
 			case 3:
@@ -532,7 +535,10 @@ THREE.TrackballControls = function ( object, domElement ) {
 			case 2:
 				var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX;
 				var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY;
-				_touchZoomDistanceEnd = Math.sqrt( dx * dx + dy * dy )
+				_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;
+                		_panEnd = _this.getMouseOnScreen(x, y);
 				break;
 
 			case 3:
@@ -558,6 +564,9 @@ THREE.TrackballControls = function ( object, domElement ) {
 
 			case 2:
 				_touchZoomDistanceStart = _touchZoomDistanceEnd = 0;
+				var x = (event.touches[ 0 ].pageX + event.touches[ 1 ].pageX) / 2;
+                		var y = (event.touches[ 0 ].pageY + event.touches[ 1 ].pageY) / 2;
+                		_panStart = _panEnd = _this.getMouseOnScreen(x, y);
 				break;
 
 			case 3: