nDiki

2005年2月20日 (日)

Ming でいきなりハマる

一昨日インストールしたMing 0.3 beta 1 + Perl でいろいろ実験。 Ming 関連は資料が少ない。

SWFバージョンの設定

SWF::setVersion(6) をしても吐き出されるバージョンは5。 SWF::Movie の Pod に書いてある

 new SWF::MovieWithVersion(6)

エラー

結局 xs ファイルを見て、

 SWF::Movie::newSWFMovieWithVersion(6);

なら呼べてバージョン6形式で吐けることを確認。

テキストフィールドのインスタンス名? 変数名?

テキストフィールドの onChanged イベント処理のテスト。

SWF::TextField インスタンスに setName で名前を設定して ActionScript から onChanged イベントハンドラを設定するも、ウンともスンとも言わない。 設定した名前に文字列を代入すると表示が書き換えられるはする。 はて。

どうやらMacromedia Flash ではテキストフィールドにインスタンス名と変数名があるようだ。 setName で設定した名前はどっちだったのか? どうやら変数名っぽいのだが。

また手元の本によると onChanged はインスタンス名を指定するらしい。 Ming ではどうする?

いろいろいじったところ、SWF::Movie に add した後の返り値である SWF::DisplayItem オブジェクトに対して setName し、ActionScript でこの名前のインスタンスに対して onChanged にハンドラを与えたところうまく動くようになった。 ということはこれがインスタンス名なのか?

[ 2月20日全て ]

About

Process Time: 0.231202s / load averages: 1.90, 0.75, 0.65