forked from: flash on 2010-3-15

by onetruth
♥0 | Line 57 | Modified 2010-10-01 11:32:00 | MIT License
play

ActionScript3 source code

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

// forked from gradicus's flash on 2010-3-15
package {
    import flash.display.Sprite;
    import flash.events.Event;

    import org.papervision3d.cameras.Camera3D;
    import org.papervision3d.events.InteractiveScene3DEvent;
    import org.papervision3d.render.BasicRenderEngine;
    import org.papervision3d.scenes.Scene3D;
    import org.papervision3d.view.Viewport3D;
    import org.papervision3d.materials.utils.MaterialsList;
    import org.papervision3d.objects.primitives.Cube;
    import org.papervision3d.materials.ColorMaterial;
    import org.papervision3d.core.proto.LightObject3D;
    import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
    import net.hires.debug.Stats;

    [SWF(backgroundColor="#000000", frameRate="60")]

    public class Test extends Sprite
    {
        public var viewport:Viewport3D;
        public var scene:Scene3D = new Scene3D();
        public var camera:Camera3D = new Camera3D();
        public var renderer:BasicRenderEngine = new BasicRenderEngine();
        private var _cube:Cube;
        public function Test()
        {
            addChild(new Stats())
            viewport = new Viewport3D(stage.stageWidth,stage.stageHeight);
            addChild(viewport);
            init3D();
            addEventListener(Event.ENTER_FRAME, update);        
        }

        private function init3D():void
        {
            var light:LightObject3D = new LightObject3D(true);
            light.z = -500;
            light.y = 400;
            scene.addChild(light);
            
            var material:ColorMaterial = new ColorMaterial(0xFFCC00,1);
            var material:FlatShadeMaterial = new FlatShadeMaterial(light, 0xFFCC00, 0x222222, 10);
            var materialList:MaterialsList = new MaterialsList();
            materialList.addMaterial(material,"front");
            materialList.addMaterial(material,"back");
            materialList.addMaterial(material,"left");
            materialList.addMaterial(material,"right");
            materialList.addMaterial(material,"top");
            materialList.addMaterial(material,"bottom");
                        
            _cube = new Cube(materialList,100,100,100);
            scene.addChild(_cube);
            
            camera.y = 200;
            camera.lookAt(_cube);
            
        }

        
        private function update(event:Event ):void 
        {
            _cube.rotationZ++;
            renderer.renderScene(scene,camera,viewport);
        }
    }
}

Forked