[Papervision3D] Camera Orbit issue

Dav dav at funkdaweb.com
Tue Jul 14 04:21:18 PDT 2009


Hi, I was wondering if anyone can help, I've set up my camera to orbit
around an object in the center of the viewport on mouse drag. However when
the camera goes over the top or under the bottom of the object the camera
the view flips.

Here is a copy of my mouse event listeners.

		private function mouseUp(e:MouseEvent):void
		{
			isOrbiting = false;
			stage.removeEventListener(MouseEvent.MOUSE_MOVE,
mouseMove);
		}
		
		private function mouseDown(e:MouseEvent):void
		{
			isOrbiting = true;
			previousMouseX = e.stageX;
			previousMouseY = e.stageY;
			stage.addEventListener(MouseEvent.MOUSE_MOVE,
mouseMove);
		}
		
		private function mouseMove(e:MouseEvent):void
		{
			var differenceX:Number = e.stageX - previousMouseX;
			var differenceY:Number = e.stageY - previousMouseY;
			
			if (isOrbiting)
			{
				cameraPitch += differenceY;
				cameraYaw += differenceX;
				
				cameraPitch %= 360;
				cameraYaw %= 360;
				
				trace("pitch: " + cameraPitch);
				trace("yaw: " + cameraYaw);
				
				//cameraPitch = cameraPitch >= 0 ?
cameraPitch : 0.0001;
				//cameraPitch = cameraPitch <= 180 ?
cameraPitch : 179.9999;
				
				previousMouseX = e.stageX;
				previousMouseY = e.stageY;
				
				camera.orbit(cameraPitch, cameraYaw, true,
cameraTarget);
			}
		}

Thanks!




More information about the Papervision3D mailing list