Вы создаете класс Loader
для загрузки, а contentLoaderInfo
является объектом в этом классе, который отслеживает некоторую базовую информацию о том, что загружается. Некоторые из его свойств bytesLoaded
, bytesTotal
, url
, loaderURL
и applicationDomain
. На данный момент наиболее часто используются bytesLoaded
и bytesTotal
, которые дают вам удобный процент загруженного содержимого. Они обновляются каждый раз, когда вызывается ProgressEvent.PROGRESS
, что оставляет лишь несколько графических элементов вне предзагрузчика.
У объекта contentLoaderInfo
также есть другие удобные события, на которые вы можете подписаться (как в своем примере), чтобы знать, когда начинается процесс загрузки, обновляется, заканчивается и / или даже происходит сбой.
Вы можете посетить документацию AS3 для получения более подробной информации:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.html#contentLoaderInfo
Достаточно запутанно, contentLoaderInfo
является LoaderInfo
объектом, поэтому вы можете увидеть его свойства и методы здесь:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/LoaderInfo.html
Вы не можете использовать this.SWFLoader.addEventListener()
, потому что SWFLoader не запускает это событие. Вместо этого его гораздо более дружественный к загрузке дочерний элемент (contentLoaderInfo
) делает это - следовательно, код работает так, как он делает.
Целесообразно использовать contentLoaderInfo
, когда вам нужно использовать методы или свойства, которые он делает доступными для вас. Это может звучать как хитрый ответ, но это правда. Как правило, вы пишете функции для обновления элементов сцены, которые позволяют пользователю понять, что происходит в отделе загрузки - точно так же, как вы сейчас.