papervision3D 練習

by Tamanegi_kenshi
♥0 | Line 44 | Modified 2010-08-09 03:09:54 | MIT License
play

ActionScript3 source code

/**
 * Copyright Tamanegi_kenshi ( http://wonderfl.net/user/Tamanegi_kenshi )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/cE8T
 */

package {
    import flash.events.*;
    import flash.display.*;
    import org.papervision3d.cameras.Camera3D;
    import org.papervision3d.scenes.Scene3D;
    import org.papervision3d.view.Viewport3D;
    import org.papervision3d.render.BasicRenderEngine;
    import org.papervision3d.objects.primitives.Cube;
    import org.papervision3d.materials.utils.MaterialsList;
    import org.papervision3d.materials.ColorMaterial;
    
    
    public class FlashTest extends Sprite {
       
        private var camera:Camera3D;
        private var scene:Scene3D;
        private var viewport:Viewport3D;
        private var renderer:BasicRenderEngine;
         
        private var cube:Cube;
     
        
        public function FlashTest() {
            init();
        }//FlashTest
        private function init():void{
         camera=new Camera3D();
         scene=new Scene3D();
         viewport=new Viewport3D(stage.stageWidth,stage.stageHeight);
         renderer=new BasicRenderEngine();
         
         addChild(viewport);
         
         var materials:MaterialsList=new MaterialsList({
             front:  new ColorMaterial(0xff00ff),
   back:   new ColorMaterial( 0x00ffff),
   right:  new ColorMaterial( 0x0000ff),
   left:   new ColorMaterial( 0x00ff00 ),
   top:    new ColorMaterial( 0x000000 ),
   bottom: new ColorMaterial( 0xffff00 )
});
         cube=new Cube(materials);
         scene.addChild(cube);
         
         addEventListener(Event.ENTER_FRAME,onEnter);
         }//init
         private function onEnter(e:Event):void{
             cube.rotationX+=(stage.stageHeight/2-mouseY)/100;
             cube.rotationY+=(stage.stageWidth/2-mouseX)/100;
             
             renderer.renderScene(scene,camera,viewport);
             
         }//onEnter




    }//class
}//package