読者です 読者をやめる 読者になる 読者になる

Flash Lite 1.1 ストーリー形式のアプリ大量生産したい 〜 swf→xml, xml→swf変換

趣味で、似たようなFlashの動作するのだけど、ストーリーや
キャラクターがまったく異なるアプリを大量に生成する事になった。
とても一つ一つ手作業で作っていくには一苦労しそう。

という事で、以下手順で大量生産できないか検討中

1. flashで普通にフレーム等を使って、flaファイルを作成する。
 ※ストーリーの部分を1カ所のフレームスクリプトにまとめておく。
2. swfmillを使用して、1で作成したswfをxmlに変換
3. 2で作成したxmlのストーリー部分の文字列を各々のストーリーごとに変換
4. 3で文字列置換したxmlをswfに戻す。

上記のような仕組みをつくってしまえば、大量生産が可能となりそう。

Debianにswfmillインスコ

参考URL

事前準備

swfmillのconfigure時にいろいろエラーがでたので、予め必要なライブラリ等いれておく。

0.pkgconfig
No package 'pkg-config' found
とかでるので、
$ sudo apt-get install pkg-config

1.libpng
No package 'freetype2' found
とかでたら、以下をためす。
$ sudo apt-get install pkg-config
うまくいかなったら、以下
apt-getからだとなぜかインスコできなかったのでソースから。
http://sourceforge.net/project/downloading.php?groupname=libpng&filename=libpng-1.2.37.tar.bz2&use_mirror=jaist
$ tar jxvf libpng-1.2.37.tar.bz2
$ cd libpng-1.2.37
$ ./configure
$ make 
$ sudo make install
$ ldconfig

2.freetype2
No package 'freetype2' found
とかでるので、これもインスコ
sudo apt-get install libfreetype6-dev

3.libxml
No package 'libxml-2.0' found
とかでるので、インスコ
sudo apt-get install libxml2-dev

No package 'libexslt' found
とかでるので、インスコ
sudo apt-get install libxslt1-dev
swfmill本体
$ wget http://swfmill.org/releases/swfmill-0.2.12.tar.gz
$ tar xzf swfmill-0.2.12.tar.gz
$ cd swfmill-0.2.12
$ wget http://lab.klab.org/files/flash/encoding.patch
$ patch -p1 < encoding.patch
$ ./configure
$ make 
ここでエラーが発生した
swft_css.cpp:197: error: 'strcmp' was not declared in this scope
ので以下ファイルを修正をする

参考URL
http://blog.whirix.com/2009/01/swfmill-compilation-problem.html
・ファイル
src/swft/swft_css.cpp 
src/swft/swft_import_mp3.cpp 
・修正内容
#include <cstring>

その後再度make
$ make
$ sudo make install
ldconfigでライブラリを認識する
$ ldconfig

実際に変換

$ swfmill -e cp932 swf2xml hoge.swf hoge.xml

TODO 続きを書く
 ・画像の入れ替えをどうするか?
 ・フレームのスクリプトを変換しやすいように、書き換えた方がよい?