Skip to content

swfdowngrade.php

Yoshihiro Yamazaki edited this page Aug 31, 2024 · 2 revisions

Home > swfdowngrade.php

はじめに

Flash SWF ファイルのバージョンを下げるツールです。 Adobe CS6 が使えなくなり、Adobe Animator が出力する SWFファイルはバージョンが新しいので、

  • ガラケーや昔のガジェットの Flash Player では表示できない
  • swftools など昔のツールで変換できない

といった問題に対して、力づくで対処するものです。

image

使い方

% composer require yoya/io_swf
(略)
% php vendor/yoya/io_swf/sample/swfversion.php -f ver10.swf 
SWF Version:12  Check Version:12
% php vendor/yoya/io_swf/sample/swfdowngrade.php -f ver10.swf -v 4 > ver4.swf
% php vendor/yoya/io_swf/sample/swfversion.php -f ver4.swf
SWF Version:4  Check Version:4

処理対象

  • SWF Header のバージョンを下げる
  • SWF Tags のバージョンも下げる。新しいバージョンでしか使えないタグを古いバージョンのタグに変換する為、情報要素が減る可能性があります。

image

  • SWF DoABC(ActionScript3) を DoAction(ActionScript1/2) に変換する。(今のところ stop と gotoAndPlay のみ)。

  • DoAction を対応する Sprite Tag の中に埋める。SymbolClass Tag にある SpriteID:ClassName 対応表を元に DoABC 中の対応する Class, Method を特定して、method と同様の処理をする DoAction Tag を生成。 結構ややこしい。

image

その他

Clone this wiki locally