Цитата:
Сообщение от vivado
т.е. по сути код во втором кадре вообще не нужен?
Просто остановить первый кадр и на onLoad поставить play, я правильно понял?
|
Да.
1-й кадр:
stop() - чтобы головка воспроизведения не перешла дальше. - пишем в самом начале, а не в конце.
Загрузка XML и проверка загруженности.
Обработчик события XML.onLoad - это и есть обработчик события загрузки XML-файла, а не просто какой-то контейнер для офомления парсера XML-данных.
В нем, после парсинга данных и прописать play(), то есть по готовности загрузки и разбора данных проигрываем дальше.
Идеологию понимаете? Есть события, который происходят во флешке. И мы назначаем функцию, которая должна вызваться при наступлении этого события. Код ActionScript работает асинхронно, то есть не ожидает сам по себе, когда что-то будет готово, поэтому нужно обрабатывать события, чтобы двигаться дальше по алгоритму приложения.
onLoad, onEnterFrame, onMouseMove - это названия событий. И если их приравнять анонимной функции, как это часто делают в примерах, то эти функции будут выполняться, когда эти события наступят. Потому эти функции и н-ся "обработчиками событий". Лично я предпочитаю не использовать анонимные функции, а давать обработчику ссылку на поименованную функцию, объявленную где-то в общем блоке всех функций.