ビットマップに対してはリンケージの設定を自動化できない

仕事で、ライブラリに存在する複数のビットマップのリンケージ設定をすることになった。jslf で一括処理すればよいと高をくくっていたが、ビットマップに対しては linkageExportForAS にアクセスできない現象に遭遇した。Google でリサーチしてもそれらしき解決策は見あたらず、渋々手動で行った。

ActionScript.org にも同様の現象を報告したポストがあったが、

Maybe adobe/MM forget to update this property for bitmap. In mx2004 you couldnt set this for bitmap object.

と言われている。ビットマップにリンケージを設定できるようになったのは Flash8 からであり、その際に Adobe が機能を実装し忘れたのではないかという推測。

試しに、手動でリンケージ設定済みのビットマップの情報を得てみた。"ActionScript に書き出し"、"最初のフレームに書き出し"にチェックを入れ、識別子を "hoge.gif" とした。そこで以下のような jsfl を走らせてみる。細かいスクリプトは省略した。

fl.trace(item.linkageExportForAS);
fl.trace(item.linkageExportInFirstFrame);
fl.trace(item.linkageIdentifier);

結果は

undefined
true
hoge.gif

となり、linkageExportForAS が未定義だと判る。