Событие для загрузки видеоклипа - PullRequest
1 голос
/ 07 октября 2011

Есть ли событие для загрузки movieClip, на которое могут реагировать другие аспекты моего флэш-фильма? Я хотел бы добавить event listener для случая, когда movieClipOne загружается, что может вызвать другую функцию в моем ActionScript (затемнить остальную часть сцены).

movieClipOne.addEventListener(Event.NAME, dimFunction);

Кроме того, если кто-нибудь может сказать мне Event.NAME о том, когда приложение изначально загружается, это тоже будет полезно.

Ответы [ 3 ]

1 голос
/ 07 октября 2011

Если вы используете класс Loader для загрузки вашего MovieClip, то вы можете добавить прослушиватели событий в его свойство contentLoaderInfo:

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleComplete);

и вы также можете добавить слушателя INIT:

loader.contentLoaderInfo.addEventListener(Event.INIT, handleInit);

каждая из этих функций должна принимать Событие как единственный параметр, например:

function handleComplete(e:Event):void
{
//do something
}

Edit: Учитывая то, что вы опубликовали в качестве окончательного решения, я бы сказал, что, поскольку вы используете код на временной шкале, вы можете добавить прослушиватели событий к объекту swfs loaderInfo, например, для кадра 1:

this.loaderInfo.addEventListener(Event.COMPLETE, handleComplete);
{
// do something here
}

Я не думаю, что проверка на наличие какого-либо другого элемента swf является лучшей практикой, хотя она, очевидно, работает в вашем случае, и при тщательном выборе / проб и ошибок она будет работать и для других.

1 голос
/ 07 октября 2011

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

Если вы простопытаясь прикрепить событие к мувиклипу при его добавлении на сцену, вы можете использовать событие addedToStage, которое унаследовано от DisplayObject.Полный список поддерживаемых событий можно найти в документах о MovieClip

0 голосов
/ 11 октября 2011
this.addEventListener(Event.ENTER_FRAME,checkLoaded)
function checkLoaded(e:Event){
if(mtERGOlink){
            // code reacting to mtERGOlink
    this.removeEventListener(Event.ENTER_FRAME,checkLoaded)
}
}

Это позволило мне скомпилировать и запустить проект по своему желанию. Я полагаю, что это не делает код mtERGOlink доступным, пока объект mtERGOlink не будет доступен на сцене.

Спасибо за другие ответы - они помогли мне привести к этому решению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...