1: 2015-06-09 (火) 08:19:17 njf[5] [6] [7] | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | テクスチャアトラスに入れられないような大きな画像や、一時的に使う画像を表示するだけなら、必要な時だけ画像を読み込んで使い終わったら破棄した方がメモリの節約になる。 | ||
+ | 自分でロードしてビットマップからテクスチャを作成して表示しても良いが、Feathersには簡単に画像をロードしてくれるImageLoaderがある。 | ||
+ | |||
+ | 使い方は、 | ||
+ | |||
+ | var loader:ImageLoader = new ImageLoader(); | ||
+ | loader.source = "yourImage.png"; | ||
+ | addChild(loader); | ||
+ | |||
+ | これで表示される。「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); | ||
+ | |||
+ | その他詳細はこちら。 | ||
+ | |||
+ | http://feathersui.com/help/image-loader.html |
(This host) = https://njf.jp