Hello funk0xff0000, if your intension is to rotate a cube, it’s better to use another technique. HoverCamera3D consumes a lot of memory for this task…just use it when you have to orbit around the objects or the scene. In this case set the maxTitle/PanAngle and minTitle/PanAngle of your camera to avoid this flip problems that you got. But I will still try to rotate the cube instead of moving the camera (for performance reasons). Something like this:
private var mouseDownX:Number = 0; private var mouseDownY:Number = 0; private var diffX:int = 0; private var diffY:int = 0; private var isMouseDown:Boolean = false; private function init():void { addEventListener(Event.ENTER_FRAME, renderScene); stage.addEventListener(MouseEvent.MOUSE_DOWN, stageMouseDown); stage.addEventListener(MouseEvent.MOUSE_UP, stageMouseUp); } private function stageMouseDown(e:MouseEvent):void { isMouseDown = true; mouseDownX = e.stageX; mouseDownY = e.stageY; } private function stageMouseUp(e:MouseEvent):void { isMouseDown = false; } private function renderScene(e:Event = null):void { var currentMouseX:Number = mouseX; var currentMouseY:Number = mouseY; if(isMouseDown) { if(Math.abs(mouseDownX - currentMouseX) > 1) { diffX = (mouseDownX - currentMouseX) / 4; } diffY = (mouseDownY - currentMouseY) / 4; } cube.rotationY += diffX; cube.rotationX -= diffY; cube.rotationX = Math.min(89, cube.rotationX); cube.rotationX = Math.max(-89, cube.rotationX); diffX *= .98; diffY *= .68; mouseDownX = mouseX; mouseDownY = mouseY; view.render(); } I hope this helps. ;) Cheers, Ivan Moreno http://www.thefloatingwall.com/