Main.as
package {
    /**
     * PV3D08 Inside a sphere
     */ 
    import flash.display.Sprite;

    [SWF(width="550",height="400",backgroundColor="0x0",frameRate="24")]
    
    public class Main extends Sprite{
        public function Main(){
            var s:InsideSphere = new InsideSphere();
            addChild(s);
        }
    }
}
    
InsideSphere.as
package{
    import flash.events.Event;
    
    /**
     * Papervision3D 2.0
     */
    import org.papervision3d.view.BasicView;
    import org.papervision3d.cameras.FreeCamera3D;
    import org.papervision3d.materials.WireframeMaterial;
    import org.papervision3d.objects.primitives.Sphere;

    public class InsideSphere extends BasicView{
    
        public function InsideSphere(){
            super(0,0,true,true,FreeCamera3D.TYPE);
            init();
        }
        
        private function init():void{
            initObjects();
            startRendering();
        }
        
        private function initObjects():void{
            const BOUNDS:Number = 50000;
            var mat:WireframeMaterial = new WireframeMaterial(0x005885);
            
            //Make the sphere visible inside.
            mat.doubleSided = true;
            
            var obj:Sphere = new Sphere(mat,BOUNDS,30,30);
            scene.addChild(obj); 
        }
        
        override protected function onRenderTick(event:Event=null):void{
            const DUMP:Number = 0.5;
            camera.rotationX = -(viewport.mouseY - stage.stageHeight/2) * DUMP;  
            camera.rotationY = (viewport.mouseX - stage.stageWidth/2) * DUMP;
            super.onRenderTick(event);
        }
    }
}
Powered by blog Boreal Kiss 2008.