Explorar el Código

Editor: Figured out trickiness with controls. They're now under control.

Mr.doob hace 12 años
padre
commit
9d83a7f4bf

+ 2 - 2
editor/js/ui/Sidebar.Properties.Material.js

@@ -172,7 +172,7 @@ Sidebar.Properties.Material = function ( signals ) {
 	var materialEnvMapRow = new UI.Panel();
 	var materialEnvMapEnabled = new UI.Checkbox( 'absolute' ).setValue( false ).setLeft( '100px' ).onChange( update );
 	var materialEnvMap = new UI.CubeTexture( 'absolute' ).setLeft( '170px' ).setColor( '#444' ).onChange( update );
-	var materialReflectivity = new UI.Number( 'absolute' ).setValue( 1 ).setLeft( '130px' ).setWidth( '30px' ).setColor( '#444' ).onChange( update );
+	var materialReflectivity = new UI.Number( 'absolute' ).setValue( 1 ).setLeft( '130px' ).setWidth( '30px' ).onChange( update );
 
 
 	materialEnvMapRow.add( new UI.Text().setValue( 'Env Map' ).setColor( '#666' ) );
@@ -569,4 +569,4 @@ Sidebar.Properties.Material = function ( signals ) {
 
 	return container;
 
-}
+}

+ 13 - 10
editor/js/ui/Viewport.js

@@ -52,16 +52,6 @@ var Viewport = function ( signals ) {
 	camera.lookAt( scene.position );
 	scene.add( camera );
 
-	var controls = new THREE.TrackballControls( camera, container.dom );
-	controls.rotateSpeed = 1.0;
-	controls.zoomSpeed = 1.2;
-	controls.panSpeed = 0.8;
-	controls.noZoom = false;
-	controls.noPan = false;
-	controls.staticMoving = true;
-	controls.dynamicDampingFactor = 0.3;
-	controls.addEventListener( 'change', render );
-
 	var light = new THREE.DirectionalLight( 0xffffff );
 	light.position.set( 1, 0.5, 0 ).normalize();
 	scene.add( light );
@@ -187,6 +177,19 @@ var Viewport = function ( signals ) {
 	container.dom.addEventListener( 'mousedown', onMouseDown, false );
 	container.dom.addEventListener( 'click', onClick, false );
 
+	// controls need to be added *after* main logic,
+	// otherwise controls.enabled doesn't work.
+
+	var controls = new THREE.TrackballControls( camera, container.dom );
+	controls.rotateSpeed = 1.0;
+	controls.zoomSpeed = 1.2;
+	controls.panSpeed = 0.8;
+	controls.noZoom = false;
+	controls.noPan = false;
+	controls.staticMoving = true;
+	controls.dynamicDampingFactor = 0.3;
+	controls.addEventListener( 'change', render );
+
 	// signals
 
 	signals.objectAdded.add( function ( object ) {

+ 7 - 7
examples/js/controls/TrackballControls.js

@@ -268,7 +268,7 @@ THREE.TrackballControls = function ( object, domElement ) {
 	function keydown( event ) {
 
 		if ( ! _this.enabled ) return;
-		
+
 		window.removeEventListener( 'keydown', keydown );
 
 		_prevState = _state;
@@ -290,15 +290,15 @@ THREE.TrackballControls = function ( object, domElement ) {
 			_state = STATE.PAN;
 
 		}
-	
+
 	}
 
 	function keyup( event ) {
 
 		if ( ! _this.enabled ) return;
-		
+
 		_state = _prevState;
-		
+
 		window.addEventListener( 'keydown', keydown, false );
 
 	}
@@ -311,9 +311,9 @@ THREE.TrackballControls = function ( object, domElement ) {
 		event.stopPropagation();
 
 		if ( _state === STATE.NONE ) {
-			
+
 			_state = event.button;
-				
+
 		}
 
 		if ( _state === STATE.ROTATE && !_this.noRotate ) {
@@ -363,7 +363,7 @@ THREE.TrackballControls = function ( object, domElement ) {
 		event.stopPropagation();
 
 		_state = STATE.NONE;
-		
+
 		document.removeEventListener( 'mousemove', mousemove );
 		document.removeEventListener( 'mouseup', mouseup );