Voici comment creér une scene qui permet de passer d'un objet 3d à un autre

en appuyant sur un bouton :


   package {
   //_______________________________________________________________
   //                                                        imports
    import flash.display.*;
    import flash.events.*;
    //---filmed in papervision3D
    import org.papervision3d.view.*;
    import org.papervision3d.scenes.*;
    import org.papervision3d.objects.*;
    import org.papervision3d.cameras.*;
    import org.papervision3d.materials.*;
    import org.papervision3d.materials.utils.*;
    import org.papervision3d.objects.primitives.*;
   //_______________________________________________________________
   //                                                   swf settings
    [SWF(backgroundColor="#000000")]
   //_______________________________________________________________
   //                                                          class
    public class basicPV3D extends BasicView {
   //_______________________________________________________________
   //                                                      variables
     private var thing        :DisplayObject3D;
     private var i            :int;
   //_______________________________________________________________
   //                                                    constructor
     public function basicPV3D():void {
       super(0, 0, true, false, CameraType.FREE);
      
       i = 0;
    
       thing = new Sphere(new WireframeMaterial(0x00FF00));
       scene.addChild(thing);
    
       makeButton();
    
       startRendering();
     }
   //_______________________________________________________________
   //                                                    render loop  
     override protected function onRenderTick(e:Event = null):void {
       thing.rotationX++;
       super.onRenderTick(e);
     }
   //_______________________________________________________________
   //                                                         button
     private function makeButton():void {
       var myButton:SimpleButton = new SimpleButton();
       myButton.addEventListener(MouseEvent.CLICK, switchUp);
       myButton.x = 0;
       myButton.y = 0;
    
       //create the look of the states
       var down:Sprite = new Sprite();
       down.graphics.lineStyle(1, 0x000000);
       down.graphics.beginFill(0xFFCC00);
       down.graphics.drawRect(10, 10, 100, 30);
    
       var up:Sprite = new Sprite();
       up.graphics.lineStyle(1, 0x000000);
       up.graphics.beginFill(0x0099FF);
       up.graphics.drawRect(10, 10, 100, 30);
    
       var over:Sprite = new Sprite();
       over.graphics.lineStyle(1, 0x000000);
       over.graphics.beginFill(0x9966FF);
       over.graphics.drawRect(10, 10, 100, 30);
    
       // assign the sprites
       myButton.upState = up;
       myButton.overState = over;
       myButton.downState = down;
       myButton.hitTestState = up;
   
       addChild(myButton);
     }
   //_______________________________________________________________
   //                                              switch primitives
     private function switchUp(e:MouseEvent):void {
       scene.removeChild(thing);
       if(i == 0){
          thing = new Cube(new MaterialsList({all: new WireframeMaterial(0xff00ff)}));
       } else if(i == 1) {
          thing = new Cylinder(new WireframeMaterial(0x0000FF));
       } else if(i == 2) {
          thing = new Cone(new WireframeMaterial(0xfff000));
      } else if(i == 3) {
          thing = new Arrow(new WireframeMaterial(0xff00cc));
       } else {
          thing = new Sphere(new WireframeMaterial(0x00ff00));
          i = -1;
       }
       scene.addChild(thing);
       i++;
     }
    }
   }
Connexion a la base impossible