提交 c784d820 编写于 作者: M Mr.doob

TrackballControls: Refactored touch code. See #7406.

上级 69f96176
......@@ -507,7 +507,7 @@ THREE.TrackballControls = function ( object, domElement ) {
_movePrev.copy( _moveCurr );
break;
case 2:
default: // 2 or more
_state = STATE.TOUCH_ZOOM_PAN;
var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX;
var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY;
......@@ -519,12 +519,9 @@ THREE.TrackballControls = function ( object, domElement ) {
_panEnd.copy( _panStart );
break;
default:
_state = STATE.NONE;
}
_this.dispatchEvent( startEvent );
_this.dispatchEvent( startEvent );
}
......@@ -542,7 +539,7 @@ THREE.TrackballControls = function ( object, domElement ) {
_moveCurr.copy( getMouseOnCircle( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ) );
break;
case 2:
default: // 2 or more
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 );
......@@ -552,9 +549,6 @@ THREE.TrackballControls = function ( object, domElement ) {
_panEnd.copy( getMouseOnScreen( x, y ) );
break;
default:
_state = STATE.NONE;
}
}
......@@ -570,15 +564,13 @@ THREE.TrackballControls = function ( object, domElement ) {
break;
case 1:
_movePrev.copy( _moveCurr );
_moveCurr.copy( getMouseOnCircle( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ) );
if ( _state !== STATE.TOUCH_ROTATE ) {
_state = STATE.TOUCH_ROTATE;
_movePrev.copy( _moveCurr );
}
_moveCurr.copy( getMouseOnCircle( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ) );
break;
case 2:
default: // 2 or more
_state = STATE.TOUCH_ZOOM_PAN;
_touchZoomDistanceStart = _touchZoomDistanceEnd = 0;
var x = ( event.touches[ 0 ].pageX + event.touches[ 1 ].pageX ) / 2;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册