forked from: flash on 2009-7-6

by hacker_7bnhd5gd forked from flash on 2009-7-6 (diff: 42)
♥0 | Line 35 | Modified 2009-07-08 17:16:37 | MIT License
play

ActionScript3 source code

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

// forked from mash's papervision3d simple example (cube)
package {
    import flash.display.*;
    import flash.events.*;

    import org.papervision3d.cameras.Camera3D;
    import org.papervision3d.materials.*;
    import org.papervision3d.objects.*;
    import org.papervision3d.objects.primitives.Cube;
    import org.papervision3d.render.BasicRenderEngine;
    import org.papervision3d.scenes.Scene3D;
    import org.papervision3d.materials.utils.MaterialsList;
    import org.papervision3d.view.Viewport3D;
    

    public class PV3D_01 extends Sprite {
        private var camera    :Camera3D;
        private var scene     :Scene3D;
        private var viewport  :Viewport3D;
        private var renderer  :BasicRenderEngine;

        private var cube      :Cube;
    	

        public function PV3D_01() {
            camera   = new Camera3D();
            scene    = new Scene3D();
            viewport = new Viewport3D( stage.stageWidth, stage.stageHeight );
            renderer = new BasicRenderEngine();
            addChild( viewport );

            var materials :MaterialsList = new MaterialsList( { all : new ColorMaterial(0x66CCFF,0.2) } );
            cube = new Cube( materials );
            scene.addChild( cube );

            addEventListener( Event.ENTER_FRAME, onEnterFrame );
        }	
    	public function onEnterFrame(e:Event): void {
    		cube.rotationX += ( mouseX - stage.stageWidth  / 12 ) / 2400;
    		cube.rotationY += ( mouseY - stage.stageHeight / 2)  / 200;
    		
    		renderer.renderScene( scene, camera, viewport );
    	}
    }
}