「FlashLiteプログラミング」の編集履歴(バックアップ)一覧はこちら
「FlashLiteプログラミング」(2007/11/28 (水) 21:03:45) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*■swfファイルのフォーマット
[[Macromedia Flash File Format (SWF)>http://www.half-serious.com/swf/format/]]
[[SWFフォーマットの基本的な構造>http://flash.kajas.com/sec6/]]
[[swf フォーマット>http://arbre.is.s.u-tokyo.ac.jp/~kinaba/seminars/swf/1/#3]]
[[SWF フォーマット>http://nikq.nothing.sh/backlog/junkbox/flash.txt]]
*■あると便利なツール
[[●swftools>http://www.swftools.org/]]
swfdump は、swfファイルの解析を行ってくれるので
作ったswfファイルの検証に使えて便利!
[[●バイナリエディタ Bz>http://www.zob.ne.jp/~c.mos/soft/bz.html]]
最終的には、バイナリエディタでゴリゴリやることに(涙)
*■Javaでプログラムする際の注意事項
●Javaはビッグエンディアンなので、リトルエンディアンを扱うにはByteBufferを使うと良い。
#良いという程ではないけど、自分でやるよりはいいかな・・・。
●Javaのシフト演算は、int(4バイト)以上しか扱えないので注意
byte, short を扱おうとすると、勝手に int に昇格させられてしまう。
[[15.18 シフト演算子>http://www.y-adagio.com/public/standards/tr_javalang/15.doc.htm#5121]]
[[5.6.1 単項数値昇格>http://www.y-adagio.com/public/standards/tr_javalang/5.doc.htm#170952]]
●byteの配列を数値にするには、BigIntegerが使えそう。
BigIntegerのコンストラクタが、byteの配列を扱える。
ただし、4バイト未満のデータを渡すと値がおかしくなる場合があるので
4バイト(byte[4])を渡すこと。
●レスポンスにswfファイルのデータを返したときに、IEがバイトコードを表示してしまう。
レスポンスのコンテンツタイプを見てくれていないようだ・・・(;´д⊂)
response.setContentType("application/x-shockwave-flash");
URLの拡張子を .swf にしたら解決したけど、、、他に手はないのだろうか、、、
携帯向けFlashLiteのswfファイルをJavaで編集することになった時のメモです。(07/11/28)
*■swfファイルのフォーマット
[[Macromedia Flash File Format (SWF)>http://www.half-serious.com/swf/format/]]
[[SWFフォーマットの基本的な構造>http://flash.kajas.com/sec6/]]
[[swf フォーマット>http://arbre.is.s.u-tokyo.ac.jp/~kinaba/seminars/swf/1/#3]]
[[SWF フォーマット>http://nikq.nothing.sh/backlog/junkbox/flash.txt]]
*■あると便利なツール
[[●swftools>http://www.swftools.org/]]
swfdump は、swfファイルの解析を行ってくれるので
作ったswfファイルの検証に使えて便利!
[[●バイナリエディタ Bz>http://www.zob.ne.jp/~c.mos/soft/bz.html]]
最終的には、バイナリエディタでゴリゴリやることに(涙)
*■Javaでプログラムする際の注意事項
●Javaはビッグエンディアンなので、リトルエンディアンを扱うにはByteBufferを使うと良い。
#良いという程ではないけど、自分でやるよりはいいかな・・・。
●Javaのシフト演算は、int(4バイト)以上しか扱えないので注意
byte, short を扱おうとすると、勝手に int に昇格させられてしまう。
[[15.18 シフト演算子>http://www.y-adagio.com/public/standards/tr_javalang/15.doc.htm#5121]]
[[5.6.1 単項数値昇格>http://www.y-adagio.com/public/standards/tr_javalang/5.doc.htm#170952]]
●byteの配列を数値にするには、BigIntegerが使えそう。
BigIntegerのコンストラクタが、byteの配列を扱える。
ただし、4バイト未満のデータを渡すと値がおかしくなる場合があるので
4バイト(byte[4])を渡すこと。
●レスポンスにswfファイルのデータを返したときに、IEがバイトコードを表示してしまう。
レスポンスのコンテンツタイプを見てくれていないようだ・・・(;´д⊂)
response.setContentType("application/x-shockwave-flash");
URLの拡張子を .swf にしたら解決したけど、、、他に手はないのだろうか、、、