Вход

Просмотр полной версии : Event.COMPLETE


Инспектор_Котик
22.02.2014, 12:50
Доброго Времени Суток! Ситуация следующая - читаю про заливку спрайтов растром. И натыкаюсь на непонимание. Вот "кот":

package {
import flash.display.Sprite;
import flash.display.BitmapData;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.geom.Matrix;

public class Main extends Sprite {

private var url:String = "C:\\flashprojects\\bitmapdata\\Image1.jpg";
private var loader:Loader = new Loader();

public function Main() {

var request:URLRequest = new URLRequest(url);

loader.load(request);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, drawImage);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
}

private function drawImage(event:Event):void {

var mySprite:Sprite = new Sprite();
var myBitmap:BitmapData = new BitmapData(loader.width, loader.height, false);

myBitmap.draw(loader, new Matrix());

var matrix:Matrix = new Matrix();
matrix.rotate(Math.PI/4);

mySprite.graphics.beginBitmapFill(myBitmap, matrix, true);
mySprite.graphics.drawRect(100, 50, 200, 90);
mySprite.graphics.endFill();

addChild(mySprite);
}

private function ioErrorHandler(event:IOErrorEvent):void {
trace("Unable to load image: " + url);
}
}
}


А вот это строка вызвала бешенный интерес:

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, drawImage);
Что тут есть вот этот аргумент - "Event.COMMPLETE"? Что он делает в слушателе событий?

alexandrratush
22.02.2014, 13:10
Первый параметр type применяется для определения типа события. В данном случае это завершение загрузки изображения объектом loader.

Инспектор_Котик
22.02.2014, 14:01
Тобишь посути это значит что после того как загрузка завершилась слушатель вызывает drawImage?

bav
22.02.2014, 15:01
Да.

P.S.
Движок форума не одобряет лаконизм:
При отправке были допущены следующие ошибки::
Набранное вами сообщение слишком короткое. Увеличьте ваше сообщение до 5 символов.

Wolsh
22.02.2014, 15:14
Инспектор_Котик, название темы должно отражать суть ВОПРОСА, давать представление о проблеме.
"Event.COMPLETE" не является проблемой и не является вопросом. Я не стану закрывать эту тему, но впредь, пожалуйста, формулируйте название темы так, чтобы другие могли понять, что в ней возможно находится ответ на их вопрос.

Инспектор_Котик
22.02.2014, 16:17
@Wolsh, спасибо, учту.

Добавлено через 7 минут
Всем спасибо за помощь