« 2009年8月 | トップページ | 2010年3月 »

2010年2月

携帯サイトで動的にswfを生成する(その1)

「携帯で着せ替えツールを作りたい」とか、「携帯用のswfをバッチ処理で大量生産したい」とかニーズが最近ありまして、swfmillを使ってプログラムをしました。そこで発見したことの概要をまとめます。詳細はそのうち追記します。

・swfmillとは?
swfmillにはswfファイルとXMLファイルを相互変換する機能があります。
この機能を利用すれば静的なswfファイルを読み込ませ、XMLにして必要な箇所だけ置換し、元に戻して出力することでswfファイルを動的に更新することができます。

参考1:http://www.plusmb.jp/2008/12/05/1510.html

今回はこのswfmillを利用して、swfファイルをxmlに変換して、swf内の画像をユーザが選択した画像に置換することで、動的なswf作成を実現しました。

基本は以下サイトを参考にして頂くとわりと簡単にできます。

参考2:http://www.plusmb.jp/2009/02/07/2476.html 

ただし、jpg画像は簡単に置換できるのですが、pngやgifはうまくいきませんでした。ガーン!
何故かというと、swfで扱われている画像はjpgの場合は、Base64エンコードとしたバイナリデータと一致しますが、
pngとgifに関しては、独自フォーマットでエンコードされているからです。

そこでどうするかというと、swfファイルの様々な操作を可能にするAPIであるswftoolのpng2swfを使います。詳細は後ほど追記します。

自分は、今回はpng2swfの存在を知らなかったので、GDを使ってpngをjpgに変換して暫定対処をしてしまいました。
まぁ悪くない対応だったんですがね。

| | コメント (0) | トラックバック (0)

携帯でswfをインタラクティブ再生する際のタグ

携帯でswfをインタラクティブ再生する方法を調べたので、メモります。

以下、タグを書くとdocomo、softbankで再生できます。
auはダメだったので、追って調査します。

<object declare id="test" data="sample.swf" type="application/x-shockwave-flash" >
<param name="bgcolor" value="ffffff">
<param name="loop" value="on">
<param name="quality" value="high">
</object>
<a iswf="#test" href="sample.swf">ダウンロード</a>

id:識別用ID
iswf:objectタグと同じidを指定。
href:swfファイルへのパス

参考:http://memorva.jp/memo/mobile/flash_lite.php

| | コメント (0) | トラックバック (0)

« 2009年8月 | トップページ | 2010年3月 »