2009-03-23 3 views
1

Я получил следующий MXML тег:Complete/События Прогресс не стреляя для контроля изображения с вложенным содержанием

<mx:Image id="image" width="100%" height="100%" 
       source="@Embed('../assets/Test.swf')" 
       complete="completeHandler(event)" 
       progress="progressHandler(event)"/> 

Но по какой-то причине не называют мои completeHandler функции/progressHandler. Причина, по которой мне требуется полное событие, - это то, что я хочу манипулировать растровыми данными после загрузки изображения. В createComplete данные растрового изображения по-прежнему равны нулю. Почему эти события не стреляют?

Редактировать: Актив правильно отображается в моем приложении - так что я знаю, что актив находится в нужном месте (вставка гарантирует, что во время компиляции все равно).

+0

содержания корректно отображается в приложении ли? –

ответ

0

Если вы используете встроенный актив, свойства ширина/высота немедленно доступны на исходном объекте:

var mySource:Object = new embeddedClass(); 
m_myWidth = mySource.width; 
m_myHeight = mySource.height; 
m_image = new Image(); 
m_image.source = mySource; 

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

0

Проверьте свой путь к ресурсам. Скорее всего, swf не находится по правильному пути или не копируется в папку assets в каталоге debug-build/release-build.

0

Итак, вы просто должны добавить слушателя Event.COMPLETE к loader.contentLoaderInfo напрямую, а не к загрузчику. Я не могу поверить, что это не так.

0

Это похоже на ожидаемое поведение здесь!

Из документации:

Прогресс событие не гарантированно будет послан. Полное событие может быть получено без каких-либо событий, которые будут отправлены. Это может произойти, когда загруженный контент является локальным файлом.

Поэтому я думаю, что эта часть может объяснить, почему в вашем примере не происходит никаких событий прогресса.

Отправляется, когда загрузка контента завершена. В отличие от полного события, это событие отправляется для всех типов источников. Обратите внимание, что для содержимого, загруженного через Loader, отправляются как готовые, так и полные события. Для других типов источников, таких как вставки, отправляется только готовый.

Это ясно говорит, что вы должны слушать ГОТОВЫ события вместо COMPLETE при работе с вложенными источниками;)