DXRubyでFlash(swf)アニメを再生してみる実験

2014/05/23

概要

DXRubyでFlashアニメを再生する。

swfmill で swf→xml変換した xmlファイルを利用する。

必要なもの

サンプルを動かすために必要

swf・xmlを自作する際に必要

サンプルの動かし方

ruby playxmlmovie.rb を実行。

以下に、他のスクリプトから呼んで使う例を示す。

require_relative "playxmlmovie"

m = PlayXmlMovie.new("hoge.xml")
m.init

Window.loop do
    break unless m.play
end

制限事項

対応済み

未対応

自作swfを再生させる際の手順

  1. Suzuka で swf を作成。
  2. swfmill で、swf を xml に変換。
  3. (必要であれば) xml_data_remove.rb で xmlファイルサイズを小さくする。(xml中のdataタグ=画像データ部分を削除できる)
  4. HugFlash で、swfから画像を抽出。

HugFlashの設定について

例えば、./hoge.xml というファイルがあったら、./hoge/BMP/PNG/ フォルダの中に hoge[1].png、hoge[4].png ... と画像ファイルが置いてあればOK。

ビットマップ画像の扱いについて

Windows7上でSuzukaを使用する際の注意点

Windows7 + Suzuka で mp3 を扱うと不正終了するので、Suzuka.exe を右クリック → プロパティを開いて、以下を設定する。

動作確認環境

License

playxmlmovie.rb、xml_data_remove.rb は Public domain とします。

Nokogiri は MITライセンス。

謝辞

サンプルswf内の静止画像作成時、以下のソフト・モデルデータを利用させていただきました。この場を借りて御礼申し上げます。