一昨日インストールしたMing 0.3 beta 1 + Perl でいろいろ実験。 Ming 関連は資料が少ない。
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 にハンドラを与えたところうまく動くようになった。 ということはこれがインスタンス名なのか?
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。