テクスチャアトラスに入れられないような大きな画像や、一時的に使う画像を表示するだけなら、必要な時だけ画像を読み込んで使い終わったら破棄した方がメモリの節約になる。
自分でロードしてビットマップからテクスチャを作成して表示しても良いが、Feathersには簡単に画像をロードしてくれるImageLoaderがある。
使い方は、
var loader:ImageLoader = new ImageLoader(); loader.source = "yourImage.png"; addChild(loader);
これで表示される。sourceはurlではなくテクスチャでもかまわない。「addChild」すると、ロードが開始される。実際にはロード後に画面や場所の調整が必要なので、ロード完了時のイベントが用意されている。
loader.addEventListener(Event.COMPLETE, onComplete);
これでonComplete関数で座標などの調整を行えば良い。
function onComplete(e:Event):void { loader.validate(); loader.alignPivot(); loader.x = STAGE_X * 0.5; loader.y = STAGE_Y * 0.5; }
ロード後、テクスチャなどの初期化は非同期で行われるようで、ここでvalidate関数を実行しておかないとloaderのwidthやheightはまだ更新されておらず、0のままになっており、alignPivotも正常に働かないことに注意が必要である。
エラーはFeathersEventType.ERRORで取得できる。
使い終わったら破棄する
loader.removeFromParent(true);
その他詳細はこちら。
ぺージ情報 | |
---|---|
ぺージ名 : | Starling+FeathersのImageLoaderを使う |
ページ別名 : | 未設定 |
ページ作成 : | njf |
閲覧可 | |
グループ : | すべての訪問者 |
ユーザー : | すべての訪問者 |
編集可 | |
グループ : | すべての訪問者 |
ユーザー : | すべての訪問者 |
Counter: 2515,
today: 2,
yesterday: 1
初版日時: 2015-06-09 (火) 08:19:17
最終更新: 2015-06-09 (火) 08:20:49 (JST) (3206d) by njf