AS3デバッグツール Debush の使い方

■前書き
Flashのデバッグは、ほとんどtrace()でやってるんですが、
たまにEnterFrameで値の変化を確認したい時とか、Flash Tracer(FireFoxでtraceの出力が確認できるFireFoxのアドオン)が入ってない環境で値を確認したいときもあると思います。
そういう時は確認用のTextFieldを作って値を表示させれば済むのですが、毎回それをやるのはめんどくさいです。
特にTextFieldのインスタンスをグローバルインスタンスにしたりしていると負担になり心臓に悪いです。
(みなさんは実は僕の知らない便利ツールを使ってサクッと済ませてるんでしょうか?)
そこで、毎回めんどくさいなら、すぐに値をチェックできるツールを作ってしまえということで、デバッグツール Debush(デバッシュ)を作りました。

■ダウンロード
Debush ダウンロードページ

■使い方1:基本
下の黒いエリアはSWFです。その内、黄色いパネルがDebushのエリアです。
黄色いパネルの左上部を掴んで移動させることもできます。


このページのコンテンツには、Adobe Flash Player の最新バージョンが必要です。

Adobe Flash Player を取得


下のコードは、上のSWFのドキュメントクラスです。
赤字の部分がDebushを表示させる為の部分です。
Debushをnewで呼び出した時の引数はdebushHandler関数をどこに置くかという指定です。
debushHandler関数内に表示したい値を記述していきます。
props配列内の(0番から始まるとして)偶数のString型の値が説明で、その偶数の値の次の値が表示したいプロパティです。
2つで1ペアになります。props配列内の値の数は好きなだけ増やせます。

package {
	import flash.display.Sprite;
	import debush.Debush;

	public class Main extends Sprite {

		public function Main() {
			addChild( new Debush(this) );
		}

		public function debushHandler(recordMode:String):void {
			var props:Array = [
				"mouseX", mouseX,
				"mouseY", mouseY,
				"ball.alpha", ball.alpha,
			];
			Debush.update(props, recordMode);
		}

	}
}

 

■使い方2:記録する
下のSWFでは1秒に1回、record関数を呼び出して緑のエリアにその瞬間の値を記録しています。
赤のrecordボタンを押しても緑のエリアにその瞬間の値を記録します。
緑のreceiveボタンはトグルボタンになっていて、ボタンが緑色の時はrecord関数の呼び出しに応じますが、ボタンがグレーの時はrecord関数の呼び出しに応じません。


このページのコンテンツには、Adobe Flash Player の最新バージョンが必要です。

Adobe Flash Player を取得


下のコードは、上のSWFのドキュメントクラスです。
赤字の部分がrecord関数の呼び出しです。static関数なのでクラス名で呼び出します。

package {
	import flash.display.Sprite;
	import flash.utils.Timer;
	import flash.events.TimerEvent;
	import debush.Debush;

	public class Main extends Sprite {

		private var timer:Timer = new Timer(1000, 0);

		public function Main() {
			addChild( new Debush(this) );

			timer.addEventListener(TimerEvent.TIMER, timerHandler);
			timer.start();
		}

		public function debushHandler(recordMode:String):void {
			var props:Array = [
				"mouseX", mouseX,
				"mouseY", mouseY,
				"ball.alpha", ball.alpha,
			];
			Debush.update(props, recordMode);
		}

		// タイマーハンドラ:1秒に1回呼ばれる
		private function timerHandler(e:TimerEvent):void {
			Debush.record();
		}
	}
}

 

以上がDebush 1.0.0 の機能の全てです。

ABOUT

MY APPLI

サッカーピープル
サッカーピープル

操作のしやすさ最優先の
自由自在なサッカーゲームです
iOS版 / Android版

コロッコトロッコ
コロッコトロッコ

石ころのコロッコを転がしながら
サラリーマンを会社へ運ぶゲームです
iPhone版 / Android版

CATEGORIES

ARCHIVES

TAGS

3Dプリント AIR ANE Arduino Away3D client work DIY Flash Funnel JavaScript Kinect LED openFrameworks PhotoShop Progression Qubicle Unity Xcode アプリ インターバル撮影 カメラ キャラ ゲーム制作 コロッコトロッコ スクリーンセーバー デバッグ フットサル ミニマル ランニング レーザーカッター 事務所 低山部 作品 動物 塗装 展示会 文字 料理 福岡てら子 美食家 街ぶらり 道具 鉄道 電子工作

FEEDS

SNS

--

Arduinoをはじめよう
Arduinoをはじめよう

電子工作が未経験の人にも
分かりやすい入門書

Arduinoをはじめようキット
Arduinoをはじめようキット

上の書籍の内容が
一通り試せるツールセット

Prototyping Lab ―「作りながら考える」ためのArduino実践レシピ
Prototyping Lab

「Arduinoをはじめよう」より
深く掘り下げた内容の実践書

Make: Electronics
Make: Electronics

電子工作の基礎から実践まで