>>он начинает "съезжать"
зависит от того, откуда 'смотрим'

Код AS3:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Point;
public class Main extends Sprite
{
private var obj:Sprite = new Sprite();
public function Main():void
{
obj.graphics.beginFill(0x0080FF);
obj.graphics.drawCircle(0, 0, 50);
addChild(obj);
stage.addEventListener(MouseEvent.MOUSE_WHEEL, stage_mouseWheel);
//====================//
// можно поставить объект напротив наблюдателя по умочанию
//obj.x = stage.stageWidth * 0.5;
//obj.y = stage.stageHeight * 0.5;
//====================//
// можно поставить наблюдателя напротив объекта
obj.x = 200;
obj.y = 200;
root.transform.perspectiveProjection.projectionCenter = new Point(obj.x, obj.y);
//====================//
}
private function stage_mouseWheel(e:MouseEvent):void
{
obj.z += 20*e.delta;
}
}
}