Event.COMPLETE или Event.INIT для последовательного загрузчика

Итак, я делаю свой собственный последовательный загрузчик. Он имеет различные функции для SWF, FLV и файлов изображений. Теперь, чтобы сделать его последовательным (загрузка продолжается один за другим), я буду использовать события loader.contentLoaderInfo, и эти два события называются COMPLETE и INIT. После некоторого прочтения я понял, что оба события имеют некоторые недостатки в терминах "полноты" загрузки. INIT кажется лучшим вариантом для изображений, тогда как COMPLETE - для SWF (я не уверен, какой из них лучше для FLV). Разница небольшая, но я беспокоюсь о будущих проблемах, связанных с этим. Можете ли вы дать мне предложение по этому поводу?

1 ответ

Решение

Я использовал событие complete как признак того, что изображение было загружено для загрузчика пакетных изображений. Я собрал его в качестве демонстрационного проекта, чтобы попытаться предварительно загрузить данные для игры, код можно увидеть здесь (извините за плохое именование проекта, они всегда начать как-то еще:)

http://www.shaunhusain.com/DrawTextRandomly/srcview/

Демо здесь: http://www.shaunhusain.com/DrawTextRandomly/

в src/util/imageLoading/BatchImageLoader.as

Я в основном настроил этот класс, поэтому я бы дал ему папку для загрузки изображений и коллекцию для заполнения, а затем сказал, каковы начальные и конечные числа для набора изображений, изображения генерируются Blender с его схемой именования файлов по умолчанию. используя 0 добавленных отсчетов для каждого кадра, так что я смог сделать так, чтобы эти анимации, экспортированные из blender, легко загружались в коллекцию, которую я позже смогу использовать для создания анимаций в стиле флипбуков.

Дайте мне знать, если это полезно, или вы искали что-то более конкретное, и я мог бы ответить. Я обычно использовал полную информацию, чтобы знать, когда данные загружаются независимо от типа, и не испытывал никаких проблем (загруженные изображения, mp3, flvs, xml, и я довольно сильно полагаюсь на COMPLETE, чтобы знать, когда данные готовы манипулировать без проблем, поэтому далеко, всегда возможно, есть крайние случаи, с которыми я не сталкивался все же).

Из небольшого прочтения статьи также видно, что init может быть запущен раньше, чем завершено, прежде чем будут доступны полные данные, если только вы не заинтересованы в манипулировании объектами как можно раньше, я думаю, что COMPLETE, вероятно, является более безопасным способом. Я полагаю, что проблема в ожидании INIT только в том случае, если вы пытаетесь использовать SWFLoader или тому подобное, а не данные непосредственно из Loader (хотя это всего лишь предположение, основанное на статье).

Другие вопросы по тегам