いまさらAS2用デバッグツールを試す。
ThunderBoltとOutを試したが、どちらも動かず。Xrayでやっとうまくいった。
Xray ( The AdminTool ) Open Source Flash
Xray概要
swf内部を調査するためのビューワ("Interface"と呼称)と、swfと"Interface"との通信をするためのライブラリ("Connector"と呼称)に大きく分かれている。2つともないと動かない。
InterfaceとConnectorそれぞれが、複数バージョン存在するのでややこしい。
FlashIDEで使う場合の準備
・Interfaceの"SWF Only"をダウンロードする[⇒Xray]。
・Connectorは"component package for AS2"をダウンロードする[⇒Xray]。エクステンションなので、インストールしてFlashIDEを再起動。
・"コンポーネント"パネルから"Xray Connector"コンポーネントをステージにドラッグ&ドロップして、ムービープレビューする。
・Interfaceを起動する。
使い方
・Interface左パネルの"GO"ボタンを押すと、swf内部のオブジェクト、プロパティが見れる。
・Interface右上の"Output"をクリックしてOutputパネルを表示。下の"Show Output?"にチェックするとデバッグ用出力を表示できる。
出力方法
・_global.tt()で出力
引数に複数オブジェクトを渡すことができ、ObjectやArrayなどもサポートされている。
_global.tt("what's my value?", value0, value1, etc);
_global.tt("what's my object?", object);
_global.tt("what's my array?", array);
・_global.Xray.xrayLoggerで出力
_global.tt()と同様だが、複数メソッドを使い分け可能。
_global.Xray.xrayLogger.debug("myObj", obj);
_global.Xray.xrayLogger.info("myObj", obj);
_global.Xray.xrayLogger.warn("myObj", obj);
_global.Xray.xrayLogger.error("myObj", obj);
_global.Xray.xrayLogger.fatal("myObj", obj);
・LogManagerクラスで出力
出力レベル設定ができるようだが、コンパイルエラーで使えない…。
//import com.blitzagency.xray.logger.LogManager;
//LogManager.setLevel(0); //'setLevel' という名前のメソッドはありません。
//debug=0, info=1, warn=2, error=3, fatal=4 can be used
logger = LogManager.getLogger("com.blitzagency.xray.logger.XrayLogger");
logger.debug("testing Logger", obj);
logger.info("testing Logger", obj);
logger.warn("testing Logger", obj);
logger.error("testing Logger", obj);
logger.fatal("testing Logger", obj);
AS2版
LogManager.setLevel()など、一部機能が使えない模様…。
公式情報
・Xray 公式ページ
・Google Codeページ
日本語記事
・"XRay" - ActionScript3 版の Firebug みたいなデバッグツール - てっく煮ブログ
・【デバッグ強化週間】デバッグツールXrayを使ってみた | エントリー | _level0.KAYAC
ThunderBoltとOutを試したが、どちらも動かず。Xrayでやっとうまくいった。
Xray ( The AdminTool ) Open Source Flash
Xray概要
swf内部を調査するためのビューワ("Interface"と呼称)と、swfと"Interface"との通信をするためのライブラリ("Connector"と呼称)に大きく分かれている。2つともないと動かない。
InterfaceとConnectorそれぞれが、複数バージョン存在するのでややこしい。
FlashIDEで使う場合の準備
・Interfaceの"SWF Only"をダウンロードする[⇒Xray]。
・Connectorは"component package for AS2"をダウンロードする[⇒Xray]。エクステンションなので、インストールしてFlashIDEを再起動。
・"コンポーネント"パネルから"Xray Connector"コンポーネントをステージにドラッグ&ドロップして、ムービープレビューする。
・Interfaceを起動する。
使い方
・Interface左パネルの"GO"ボタンを押すと、swf内部のオブジェクト、プロパティが見れる。
・Interface右上の"Output"をクリックしてOutputパネルを表示。下の"Show Output?"にチェックするとデバッグ用出力を表示できる。
出力方法
・_global.tt()で出力
引数に複数オブジェクトを渡すことができ、ObjectやArrayなどもサポートされている。
_global.tt("what's my value?", value0, value1, etc);
_global.tt("what's my object?", object);
_global.tt("what's my array?", array);
・_global.Xray.xrayLoggerで出力
_global.tt()と同様だが、複数メソッドを使い分け可能。
_global.Xray.xrayLogger.debug("myObj", obj);
_global.Xray.xrayLogger.info("myObj", obj);
_global.Xray.xrayLogger.warn("myObj", obj);
_global.Xray.xrayLogger.error("myObj", obj);
_global.Xray.xrayLogger.fatal("myObj", obj);
・LogManagerクラスで出力
出力レベル設定ができるようだが、コンパイルエラーで使えない…。
//import com.blitzagency.xray.logger.LogManager;
//LogManager.setLevel(0); //'setLevel' という名前のメソッドはありません。
//debug=0, info=1, warn=2, error=3, fatal=4 can be used
logger = LogManager.getLogger("com.blitzagency.xray.logger.XrayLogger");
logger.debug("testing Logger", obj);
logger.info("testing Logger", obj);
logger.warn("testing Logger", obj);
logger.error("testing Logger", obj);
logger.fatal("testing Logger", obj);
AS2版
LogManager.setLevel()など、一部機能が使えない模様…。
公式情報
・Xray 公式ページ
・Google Codeページ
日本語記事
・"XRay" - ActionScript3 版の Firebug みたいなデバッグツール - てっく煮ブログ
・【デバッグ強化週間】デバッグツールXrayを使ってみた | エントリー | _level0.KAYAC
ようやくやった。
パブリッシュ用テンプレートHTMLをカスタマイズするには | 5ive™.blog
必要なことは、上記ページに全部書かれている。
HTMLを書き換えるような、めんどくさいレベルの低いめんどくささは放置しがちだな。
ファイルの置き場所
Win
C:\Documents and Settings\[ユーザ名]\Local Settings\Application Data\Adobe\Flash CS3\ja\Configuration\HTML
パブリッシュ用テンプレートHTMLをカスタマイズするには | 5ive™.blog
必要なことは、上記ページに全部書かれている。
HTMLを書き換えるような、めんどくさいレベルの低いめんどくささは放置しがちだな。
ファイルの置き場所
Win
C:\Documents and Settings\[ユーザ名]\Local Settings\Application Data\Adobe\Flash CS3\ja\Configuration\HTML
非同期処理記述のためのライブラリいろいろ。
fladdict » AS3で非同期処理を行う為のcommandsライブラリ
―「ちなみに他ライブラリと比べた場合の利点は、処理をクラスインスタンスとしてラップしているので、一連のバッチ処理を変数として保持したり、ボタンのコールバックに結びつけたりできることです。」
ActionScript Thread Library 1.0 (そうめん)
AS3 でイベントやファンクションのチェイン - 微熱 everyday - subtech
as3の非同期処理を行うお手軽ライブラリを作った
――ASDeferred(JSDeferred) をベースにしてると
こっちはJSですが。
JSDeferredを読む (Kanasansoft Web Lab.)
非同期処理クラス ASDeferred を作ってみた
「といっても ActionScript3.0 のクラスなので function を書くたびに返り値の型をしっかり記述しなければならず、はっきりいって使い勝手は激悪ですwww」
fladdict » AS3で非同期処理を行う為のcommandsライブラリ
―「ちなみに他ライブラリと比べた場合の利点は、処理をクラスインスタンスとしてラップしているので、一連のバッチ処理を変数として保持したり、ボタンのコールバックに結びつけたりできることです。」
ActionScript Thread Library 1.0 (そうめん)
AS3 でイベントやファンクションのチェイン - 微熱 everyday - subtech
as3の非同期処理を行うお手軽ライブラリを作った
――ASDeferred(JSDeferred) をベースにしてると
こっちはJSですが。
JSDeferredを読む (Kanasansoft Web Lab.)
非同期処理クラス ASDeferred を作ってみた
「といっても ActionScript3.0 のクラスなので function を書くたびに返り値の型をしっかり記述しなければならず、はっきりいって使い勝手は激悪ですwww」
