Star Orbit Demo

Flash 3D demo about objects orbiting stars

Star Orbit Demo

src/com/cet/debug/fps.as


package com.cet.debug {
//_________________________________________________________
//                                                  importz
	import flash.display.*;
	import flash.events.*;
	import flash.system.*;
	import flash.text.*;
	import flash.utils.*;
//_________________________________________________________
//                                                    class
	public class fps extends Sprite {
//_________________________________________________________
//                                             private varz
		private var holder			:Sprite;
		private var theBar			:Sprite;
		private var theBG			:Sprite;
		private var label			:TextField;
		private var time			:Number;
		private var frameTime		:Number;
		private var prevFrameTime	:Number;
		private var secondTime		:Number;
		private var prevSecondTime	:Number;
		private var frames			:Number;
		private var theFPS			:String;
		private var memory			:String;
		private var other			:String;
		private var which			:String;
//_________________________________________________________
//                                              public varz
		public static var BYTES		:String = "b";
		public static var KILOBYTES	:String = "kb";
		public static var MEGABYTES	:String = "mb";
//_________________________________________________________
//                                              constructor
		public function fps(barcolor:uint = 0x006600, baralpha:Number = 1, bgcolor:uint = 0x000000, bgalpha:Number = 1, textcolor:uint = 0xFFFFFF, memorydisplay:String = "kb", maxwidth:Number = 800) {			
			holder = new Sprite();
			
			theBG = new Sprite();
			theBG.graphics.beginFill(bgcolor, bgalpha);
			theBG.graphics.drawRect(0, 0, maxwidth, 10);
			theBG.graphics.endFill();
			holder.addChild(theBG);

			theBar = new Sprite();
			theBar.graphics.beginFill(barcolor, baralpha);
			theBar.graphics.drawRect(0, 0, 25, 10);
			theBar.graphics.endFill();
			holder.addChild(theBar);

			label = new TextField();			
			label.autoSize=TextFieldAutoSize.LEFT;
			label.htmlText = "<font face=\"verdana\" size=\"5\">xero.nu</font>";		
			label.textColor=textcolor;
			label.selectable=false;
			holder.addChild(label);
			
			holder.scaleX = 1.5;
			holder.scaleY = 1.5;
			this.addChild(holder);
			
			this.scaleX = this.scaleY = 2;
			
			which = memorydisplay;
			frames = 0;
			theFPS = "...";
			other = "";
			prevFrameTime = getTimer();
			prevSecondTime = getTimer();
			
			this.addEventListener(Event.ENTER_FRAME, onEnterFrame);	
		}
//_________________________________________________________
//                                                     loop
		public function onEnterFrame(e:Event):void {
			time = getTimer();
			
			frameTime = time - prevFrameTime;
			secondTime = time - prevSecondTime;
			
			if(secondTime >= 1000){
				theFPS = frames.toString();
				frames = 0;
				prevSecondTime = time;
			} else {
				frames++;
			}

			switch(which) {
				case "b":
				memory = flash.system.System.totalMemory.toFixed(0) + " bytes";
				break;
				case "kb":
				memory = (flash.system.System.totalMemory / 1000).toFixed(0) + " kbs";
				break;
				case "mb":
				memory = (flash.system.System.totalMemory / 1000000).toFixed(0) + " mbs";
				break;
			}

			prevFrameTime = time;
			label.htmlText = "<font face=\"verdana\" size=\"5\"> &lt; ( xero.nu ) framerate: "+ theFPS +" fps / "+ frameTime +"ms . memory: "+ memory +" . "+ other.toString() +" &gt;</font>";
			theBar.scaleX = theBar.scaleX - ((theBar.scaleX - (frameTime/10)) / 5);
		}
//_________________________________________________________
//                                                   setter
		public function update(x:String):void {
			other = x;
		}
	}
}

Download

raw zip tar