Stats

(サンプル一覧を表示する)


[ライセンスの種類: MIT License]

Stats はデバッグ用のライブラリで、使用中のメモリ量と 1 秒間に表示されたフレーム数の履歴を簡単に表示することができます。メモリ量は、ガベージコレクタが動作するまで、開放したつもりでも消費し続けることがあります。ガベージコレクタが動くタイミングは、デバッグ版 FlashPlayer 以外ではコントロールすることができないようです。

・stats (Google Code)
http://code.google.com/p/mrdoob/wiki/stats/

// 使い方:
// 1 行足すだけで OK です。
addChild(new Stats());

Flash の実行画面
Stats

Flashプレーヤーが入っていないか、JavaScriptが無効になっているようです。

Get Adobe Flash player

Stats
左上の黒くて四角い箱が Stats の画面です。

FPS: 1 秒間に表示されたフレームの数。
  (現在のフレーム数/Flashで設定したフレーム数)
MS : 1 フレームの表示にかかった時間 (ミリ秒)。少ないほうが良い。
MEM: メモリ使用量。毎フレームこの値が増えていると良くない。
MAX: 確保したメモリの最大値。

Stats の画面の上の方をクリックすると FPS が上がり、
下の方をクリックすると FPS が下がります。

ソースコード

package 
{
	import flash.display.Bitmap;
	import flash.display.Sprite;
	import flash.events.Event;
	import net.hires.debug.Stats;
	
	/**
	 * Stats のサンプル
	 * @author Hikipuro
	 */
	public class Main extends Sprite 
	{
		/**
		 * 埋め込み画像
		 */
		[Embed(source = '../image/test001.png')]
		private var image1:Class;
		
		/**
		 * 表示中のビットマップ管理用の配列
		 */
		private var bitmapArray:Array;
		
		/**
		 * コンストラクタ
		 */
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
		
		/**
		 * 初期化メソッド
		 * @param	e
		 */
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			
			// 変数の準備
			bitmapArray = new Array();
			
			// イベントリスナを登録
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
			
			// Stats を画面に表示
			addChild(new Stats());
		}
		
		/**
		 * フレーム開始イベント
		 * @param	e
		 */
		private function onEnterFrame(e:Event):void 
		{
			var bitmap:Bitmap;
			
			// ビットマップの配列を巡回する
			//  ・毎フレーム 3 ピクセルずつ左に移動させる。
			//  ・-50 より左に行った場合、画面から取り除く。
			for (var key:String in bitmapArray) {
				bitmap = bitmapArray[key];
				bitmap.x -= 3;
				if (bitmap.x < -50) {
					bitmapArray.splice(key, 1);
					removeChild(bitmap);
				}
			}
			
			// 10 フレームに 1 回の確率で画面にビットマップを追加
			//  ・Y 座標の出現位置はランダムにする。
			//  ・addChildAt() メソッドで、 Stats の画面の後ろに表示する。
			if (int(Math.random() * 10) == 0) {
				bitmap = new image1;
				bitmap.x = 320;
				bitmap.y = int(Math.random() * 200);
				bitmapArray.push(bitmap);
				addChildAt(bitmap, 0);
			}
		}
	}
}
		


FlashDevelop で外部ライブラリを使用するときは、 lib フォルダに SWC ファイルを追加した後、右クリックして "Add To Library" を選択してください。

ライブラリの設定 1


ライブラリ名が青くなったら、ビルド時に使用されるようになります。

ライブラリの設定 2