![]() |
Порядок выполнения скрипта
Что-то никак не пойму :)
Есть swf-ка: 3 кадра (кейфрейма) код в первом кадре Код:
gotoAndStop(3);Код:
trace("root")Код:
trace("root")внутри которого только строчка Код:
trace("clip")Результат трейса таков: clip root А если в первом кадре поставить код в первом кадре Код:
gotoAndStop(2);root clip ????? |
Ну вообще-то два ключевых кадра на одном слое никуда клип не девают и новый клип в третьем кадре не создается, он инициализируется перед третьем кадром. А вот если расположить клипы в разных кадрах и на разных слоях, то никаких проблем нет.
|
Цитата:
Цитата:
Ведь если в клип вставить Код:
trace(_parent._currentframe) |
Ну вообще, перед входом в третий кадр объект уже был на сцене, in fact. Т.е. создается он во-втором ещё.
|
Т.е. строго говоря, клип только В МОМЕНТ ИНИЦИАЛИЗАЦИИ, выполняет свой код ДО кода рута, а после инициализации, он выполняет свой код, когда головка родителя уже перешла на следующий кадр (т.е. ДО исполнения кода родителя на следующем кадре)?
|
Нет, он весь свой код выполняет до рута. В целом, логически это верно — объект уже был создан на момент перехода в третий кадр.
|
Т.е. в кадре выполняется СНАЧАЛА код дочерних мувиков, а ЗАТЕМ родительских? И только в случае инициализации мувиков порядок меняется?
|
Не всегда. Порядок меняется, если клип создается в данном конкретном кадре. Сначала рут, потом клип. А т.к. в данном примере клип уже был создан ещё на втором кадре, его инициализация должна пройти раньше рута.
|
Спасибо. Учту как факт.
|
| Часовой пояс GMT +4, время: 20:41. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.