| JekelSkaz |
29.01.2014 17:42 |
возврат битмапа после загрузки
Привет, пытаюсь написать простой класс загрузки внешних изображений. Не могу понять как реализовать возврат методом класса изображения после его загрузки. Вызов dno.getBitmap() сразу после обьявления класса не возвращает битмап, поскольку он не загружен...как правильно реализовать это, желательно чтобы затрагивать только LoaderImg.as
суть в том, чтобы класс LoaderImg вернул Bitmap
Сейчас это выглядит так:
main.as
Код AS3:
package {
import flash.display.*;
import flash.events.*;
import flash.system.LoaderContext;
import flash.net.URLRequest;
import LoadImg;
public class Main extends Sprite {
public function Main():void {
if (stage) {
init();
} else {
addEventListener(Event.ADDED_TO_STAGE, init);
}
}
public function init(e:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
var dno:LoadImg = new LoadImg("https://www.google.com.ua/images/srpr/logo11w.png");
stage.addChild(dno.getBitmap());
}
}
}
LoaderImg.as
Код AS3:
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Loader;
import flash.events.Event;
import flash.net.URLRequest;
public class LoadImg {
public var imgB:Bitmap;
public function LoadImg(url:String):void {
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader.load(new URLRequest(url));
}
private function onComplete (event:Event):void {
var imgBD = event.target.content.bitmapData;
this.imgB = new Bitmap(imgBD);
}
public function getBitmap():Bitmap {
return this.imgB;
}
}
}
|