forked from: forked from: flash on 2010-3-15

by onetruth forked from forked from: flash on 2010-3-15 (diff: 1)
♥0 | Line 51 | Modified 2010-10-01 11:24:49 | 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/32FF
 */

// forked from onetruth's forked from: flash on 2010-3-15
// 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.rotationY++;
            renderer.renderScene(scene,camera,viewport);
        }
    }
}