Adobe AIR - Как мне отследить завершение загрузки изображения? - PullRequest
1 голос
/ 24 октября 2010

Суть моего кода следующая:

var img:Image = new Image;  
img.source = 'http://..........';  
img.autoLoad = true;  
img.cachePolicy = 'on';

img.addEventListener(Event.COMPLETE, function(event:Event):void {  
    trace('Loaded!', img.source);  
});  
img.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function(event:Event):void {  
    trace('Error!', img.source);  
});  
img.addEventListener(IOErrorEvent.IO_ERROR, function(event:Event):void {  
    trace('Error!', img.source);  
});  

Я обнаружил, что для некоторых изображений событие завершения не происходит.Как я могу поймать полное событие без утечек сигнала?

1 Ответ

2 голосов
/ 24 октября 2010

Когда вы хотите загрузить изображение (или даже другой SWF-файл), используйте класс Loader.Быстрый пример:

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handlerFunction);
loader.load(new URLRequest("http://somewhere/image.png"));

Единственная хитрость в том, что события, связанные с загрузкой, отправляются объектом loader.contentLoaderInfo, а не объектом loader.

Ивсегда удобная документация: Класс погрузчика

...