Hello LWF

LWFが捗る。ということでやってみた。

■LWFとは?

https://github.com/gree/lwf をご参考。
flash資産をUnityとかHTML5に変換、出力するためのグレートな仕組みだそうです。
どんなものか知りたい方はデモプロジェクトを動かしてみるのが 手っ取り早いと思います。

■参考にしました!

http://gree.github.com/lwf-demo/
http://terasur.blog.fc2.com/blog-entry-305.html

Sample Code

http://muzigram.muzigen.net/2012/11/hello-lwf.html

■フォーマットのルール

http://gree.github.com/lwf-demo/pdf/FLASHforLWFproductionguideline.pdf
を参考にしましょう。
  • Flash player 7
  • ActionScript1.0
  • × jpeg ◯png
  • ×シェイプ
  • マスクもあかん
特にjpegについては注意。
pngを使っていてもflashがJpegや!
と認識することがあるそうです。よくある罠ですね
(デザイナー談)

デモを参考に手元のswfを変換する

デザイナーさんにjackpotっていうswf用意してもらいましたー
こんな感じのディレクトリ構成にしておいて スクリーンショット 12 11 14 13 36

lwf-demoのここにswfファイル入れてshファイル叩きましょう。
Macならターミナルからばしばしと
Winだとruby入れてpath通して…。って感じでしょうか スクリーンショット 12 11 14 13 38

…jpegの奴とかミスってるとこんな感じのエラーが!

../../lwf/tools/swf2lwf/swf2lwf.rb:1506:in `parse_define_shape': undefined method `width' for nil:NilClass (NoMethodError) from ../../lwf/tools/swf2lwf/swf2lwf.rb:2314:in `send' from ../../lwf/tools/swf2lwf/swf2lwf.rb:2314:in `parse_tags' from ../../lwf/tools/swf2lwf/swf2lwf.rb:2351:in `parse' from ../../lwf/tools/swf2lwf/swf2lwf.rb:2801:in `swf2lwf' from ../../lwf/tools/swf2lwf/swf2lwf.rb:3584

出来上がったファイル

いろいろなファイルが出力されます。
とりあえず.pngと.lwfファイルをunityに突っ込めば大丈夫。

■イベントの取り方とか

Unity側でイベントを渡したいフレーム等に
fscommand ("event", "done");
を埋め込んで置けばOK。上記はdoneっていうイベント名ってこと。です。
Unity側では
SetEventHandler("Done",(movie,button)=>{print("yatta!");});
てな感じでイベントを設定できます。 ちなみにちなみにlwf-demoのサンプルのボタンには
NoticePressEventってのが貼ってあるので
flash環境が手元にない方は
SetEventHandler("NoticePressEvent",(movie,button)=>{print("test");});
ってな感じで確認できます。

■出力

LWFSampleObjectを参考にファイルを追加すれば…
スクリーンショット 2012 11 14 13 53 37 できたー。簡単キレイ!こりゃ良さげだ。

追記!

というtweet を頂きました!ありがとうございます!。
◯◯の形式にそってない!動かない!ギギギ!
っていう環境は日常茶飯事なので大変助かります

このブログの人気の投稿

GoとDockerのお勉強 #golang #docker

[Unity]「落ちたら消えるオブジェクト」の作り方

ISUCONにてGoの正規表現で爆死 #ISUCON #golang