PDA

Просмотр полной версии : почему loaderInfo = null


geron3
23.07.2008, 09:49
public class myImage extends Image
{
public function myImage()
{
super();
trace(loaderInfo);
loaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
}

private function onProgress(e:ProgressEvent):void {
trace("Загружено " + this.loaderInfo.bytesLoaded + " из " + this.loaderInfo.bytesTotal);

}
}


Вопрос почему loaderInfo в конструкторе равно null? т.е. при компиляции все ОК, а при работе падает в ошибку.

etc
24.07.2008, 00:15
А документация по свойству loaderInfo что нам говорит?

geron3
24.07.2008, 13:47
А документация по свойству loaderInfo что нам говорит?

The loaderInfo property is defined only for the root display object of a SWF file or for a loaded Bitmap (not for a Bitmap that is drawn with ActionScript)

Тогда пробуем по другому

<?xml version="1.0" encoding="utf-8"?>
<mx:Image xmlns:mx="http://www.adobe.com/2006/mxml" activate="init()">
<mx:Script>
<![CDATA[
import mx.controls.Text;
private function init():void {
trace("Image Init");
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
}

private function onProgress(e:ProgressEvent):void {
trace("Загружено " + this.loaderInfo.bytesLoaded + " из " + this.loaderInfo.bytesTotal);
}
]]>
</mx:Script>
</mx:Image>


Но так тоже не работает, народ очень нужно сделать лоадер для картинки, ткните плиз как решить. В этом коде onProgress не срабатывает.

etc
25.07.2008, 02:35
Разве Image шлет прогресс через loaderInfo? (лень смотреть доку, посмотрите вы за меня).

JesterAntik
25.07.2008, 11:39
geron3, а тебе надо знать сколько конкретно загружено или вообще когда загрузится изображение?

geron3
25.07.2008, 12:38
Я уже нашел решение, нужно отслеживать событие progress и complete самого image. А данные брать image.bytesLoaded image.bytesTotal.

Т.е. не использовать loaderInfo