[AS3デバック方法] FlashからFirebugにログ出力する。


はまったのでメモ。
FlashのActionScript内で記述された内容をFirebugにログ出力したかったんだけど、
AS3になれていないので時間がかかった・・。

// Firebugにログ出力する関数を作成
function ftrace(msg) {
	trace("ftrace = ", msg);
	return ExternalInterface.call("window.console.log", msg)
		|| ExternalInterface.call("opera.postError", msg)
		|| ExternalInterface.call("printfire", msg)
		|| ExternalInterface.call("Debug.writeln", msg)
		|| ExternalInterface.call("debug.trace", msg)
	;
}

// ftrace実行
ftrace("firebug log test");

これだけでFirefoxで実行しても下記のようなフラッシュからセキュリティエラーがでる。
Adobe Flash Player Security

これを解決するには、
Global Security Settings panelで実行しているローカルのswfを許可設定してあげないと駄目みたい。
Flashでは、当たり前なのかもしれないけど知らなかったのではまった・・。
下記サイトから”edit location”をクリックしてテスト用のswfファイルを選択する。
http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html

上の設定が終わったあと試してみると無事にFirebugに出力されました。