Browse Source

Improved draggable cubes example.

Mr.doob 14 years ago
parent
commit
4ed370e362
1 changed files with 7 additions and 3 deletions
  1. 7 3
      examples/webgl_interactive_draggablecubes.html

+ 7 - 3
examples/webgl_interactive_draggablecubes.html

@@ -25,7 +25,9 @@
 			var camera, scene, projector, renderer;
 			var camera, scene, projector, renderer;
 			var objects = [], plane;
 			var objects = [], plane;
 
 
-			var mouse = { x: 0, y: 0 }, INTERSECTED, SELECTED;
+			var mouse = new THREE.Vector2(),
+			offset = new THREE.Vector3(),
+			INTERSECTED, SELECTED;
 
 
 			init();
 			init();
 			animate();
 			animate();
@@ -133,7 +135,7 @@
 				if ( SELECTED ) {
 				if ( SELECTED ) {
 
 
 					var intersects = ray.intersectObject( plane );
 					var intersects = ray.intersectObject( plane );
-					SELECTED.position.copy( intersects[ 0 ].point );
+					SELECTED.position.copy( intersects[ 0 ].point.subSelf( offset ) );
 					return;
 					return;
 
 
 				}
 				}
@@ -180,8 +182,10 @@
 
 
 					SELECTED = intersects[ 0 ].object;
 					SELECTED = intersects[ 0 ].object;
 
 
-				}
+					var intersects = ray.intersectObject( plane );
+					offset.copy( intersects[ 0 ].point ).subSelf( plane.position );
 
 
+				}
 			}
 			}
 
 
 			function onDocumentMouseUp( event ) {
 			function onDocumentMouseUp( event ) {