forked from: 3d parallax test

by bradsedito
3D Parallax Test
Flash core
Sandy core
Start
♥0 | Line 58 | Modified 2011-08-08 15:58:40 | MIT License
play

ActionScript3 source code

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

// forked from iNert's 3d parallax test
//3D Parallax Test

package 
{
    //Flash core
    import flash.display.Sprite;
    import flash.events.*;
    import flash.ui.*;
    import flash.text.*;
    import flash.utils.getTimer;
    
    //Sandy core
    import sandy.core.Scene3D;
    import sandy.core.data.*;
    import sandy.core.scenegraph.*;
    import sandy.materials.*;
    import sandy.materials.attributes.*;
    import sandy.primitive.*;

    //Start
    [SWF(width="465", height="465", backgroundColor="#040b43", frameRate="60")]
    public class Parallax extends Sprite 
    {
        //Scene vars
        private var scene:Scene3D;
        private var cam1:Camera3D;
        
        //FPS counter
        private var startTick:Number;
        private var numFrames:Number;
        private var FPS:TextField;
        
        public function Parallax() 
        {
            cam1=new Camera3D(465,465);
            cam1.y=100;cam1.lookAt(0,50,0);
            
            //Functions go here
            var root:Group = createScene();
            FPSCounter();
            
            scene = new Scene3D("Scene",this,cam1,root);
            addEventListener(Event.ENTER_FRAME, renderer);
        }
        
        private function createScene():Group
        {
            var coreGroup:Group = new Group();
            return(coreGroup);
        }
        
        private function FPSCounter():void
        {
            numFrames = 0;
            startTick = getTimer();
            FPS = new TextField();
            FPS.textColor = 0xFF00FF;
            FPS.width = 200;
            FPS.x = 20; 
            FPS.y = 20;
            addChild(FPS);  
        }
               
        private function renderer(event:Event):void
        {
             numFrames++;
             var t:Number=(getTimer()-startTick)*0.001;
             
             if(t>0.1)
             {
                 FPS.text="FPS: "+(Math.floor((numFrames/t)*10.0)/10.0);
             }
            
            scene.render();
        }
    }
}