SWF の画像入れ替えやテキスト入れ替えに加えて、
(動きのある)シンボル入れ替えにも対応しました。
入れ替えたいシンボルのインスタンス名と SWFデータを渡すと、
渡した SWF をシンボルに変換して差し替えます。
まだ実験的なリリースです。今の所、
depth 重複避けとか根本的な処理が幾つか抜けています。
▼原理:
- インスタンス名からシンボルを検索する
- インスタンス名(name)を持つ PlaceObject2 タグを探す
- PlaceObject2 が character_id で指し示す Spriteタグを探す
- CID 重複避け
- テンプレートの SWF が使用している CID をリストアップする。
- 入れ替える SWF 中の CID で上記のと衝突する番号は renum する
- 渡した SWF をシンボルに変換して差し替える
- その SWF のコンテンツ系のタグは Spriteタグの前に展開
- その SWF の制御系タグは Sprite の中身を消して、その中に改めて展開する。
▼制限事項:
- 差し替える SWF 中の ActionScript のターゲットで相対パスは使わないのを推奨します。SWF を MovieClip に包む処理を入れている為、渡した SWF 内の ActionScript で root 以外を指すターゲットが別の場所を指すようになるかもしれません。
▼課題:
- テンプレートの SWF と差し替え SWF で depth が重複しないよう renum する。
- 入れ替えて不要になったコンテンツタグを削除する。
- 差し替え SWF の中に Sprite タグが含まれる場合に、その Sprite 中の CID を renum する。
- 別の Sprite の中に入っている Sprite を指定して入れ替えられるようにする。(ただ、ちょっとパフォーマンスが心配)
→
続く