ZipLoaderクラス
Papervision3Dの2.0alpha版、GreateWhiteに含まれる「nochump.util.zip.*」を使用して、
URLLoaderと全く同じ使い方でzipファイル内から直接ファイルを抽出できるように作成したクラスです。
コード
以下より入手できます。
更新ログは以下よりチェックできます。
サンプルコードは以下より入手できます。
- http://www.libspark.org/svn/as3/ZipLoader/samples/ZipLoaderSample.as
- http://www.libspark.org/svn/as3/ZipLoader/samples/outer.zip(サンプルコード内で使用しているzipファイル)
使い方
- URLLoaderとほぼ同じです。
- zipファイル内のファイルは、「<zipファイルのURL>://foo/bar.txt」のように、zipファイルのURLをプロトコルであるかのようにみなして、「://」の後ろにzipファイル内のファイル位置を指定します。
var zipLoader:ZipLoader = new ZipLoader(); zipLoader.addEventListener(Event.COMPLETE, zipLoadComplete); zipLoader.load(new URLRequest("./samples/outer.zip://foo.zip://bar/sample.txt")); - dataFormatは、URLLoaderDataFormat.BINARYから変更しないで下さい。
TODO
- dataFormatを、zipから抽出したファイルにあわせて変更可能にする。
- zipファイル内に欲しいファイルが無かった際の例外/エラーイベントをディスパッチするようにする
- 誰かがコードをリファクタリングしてくれる
- テストコードを作成する
- 誰かが意地悪な(=良質な)テストケースを作ってくれる
