![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2002
Сообщений: 47
|
Интересует то, как будет работать ниже приведенная схема.
Допустим есть два кадра, в каждом из которых содержится много кода на ActionScript. Пусть клип дошел до второго кадра и в некоторый момент вызвал gotoAndPlay(1). Обрывется ли при этом выполнение кода из второго кадра? Если "нет", то когда начинает выполнятся код первого кадра? Нужно ли в подобной ситуации использовать exit; для прерывания работы кода? Расскажите, кто знает... P.S. И будет ли отличие, если вызвать gotoAndPlay(1), например, в цикле onEnterFrame(). |
|
|||||
|
Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
|
gotoAndPlay(1) сработает только после onEnterFrame, и после того, как будет выполнен весь код во всех объектах, связанный с данным кадром.
Посередине выполнения одного кадра кода вообще ничего внешнего не происходит.
__________________
Верить никому нельзя. Мне - можно. :) |
|
|||||
|
Ветеран форума
|
если в начале второго кадра стоит gotoAndPlay(1) а потом весь остальной код, то он вообще не выполнится ...
__________________
BestMasterиZация |
|
|||||
|
Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
|
Цитата:
__________________
Верить никому нельзя. Мне - можно. :) |
|
|||||
|
Регистрация: Mar 2002
Сообщений: 47
|
Цитата:
Dendroid, из Ваших слов я понял так: gotoAndPlay(1) не выполнится до тех пор пока весь оставшийся код в onEnterFrame не отработает. Я правильно понял? А если сразу поставить за gotoAndPlay(1) комманду exit? Надо будет мне все это в ближайшее время самому проверить, жаль Flash`a под рукой нет. |
|
|||||
|
Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
|
Как я понимаю, gotoAndPlay(1) это что-то вроде "_currentframe=1" т.е. значение просто устанавливается, код выполняется дальше (хотя можно в этом же, втором кадре протестить его, _currentframe будет равно 1), но отображаться будет только в момент перерисовки экрана), а вот уже после перерисовки новый код из первого кадра встанет в очередь на выполнение...
exit куда, из плеера совсем? ![]()
__________________
Верить никому нельзя. Мне - можно. :) |
|
|||||
|
Регистрация: Mar 2002
Сообщений: 47
|
Спасибо, Dendroid, за помощь!
|
|
|||||
|
Регистрация: Mar 2002
Сообщений: 47
|
Цитата:
А если, как Вы и сказали, gotoAndPlay(1) это есть присвоение переменной (что то типа указателя на текущий кадр), то может комманда exit возьмет эту переменную и остановит код первого кадра... Но спасибо за разъяснения про gotoAndPlay. |
|
|||||
|
Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
|
Цитата:
Почему так происходит: дойдя до очередного куска кода (на фрейме, в кадре, по событию) флэш полностью отдаёт управление виртуальной машине (интерпретатору Actionscript), пока этот кусок кода не выполнился до конца - флэш ничего не делает, так как у него совсем нет процессорного времени (распараллеливания не предусмотрено). По окончании выполнения виртуальная машина опять отдаёт управление флэшу, и он уже смотрит, чего там скрипт наделал, чего поменял. Т.е. один кусок кода - вещь неделимая с точки зрения флэша. Ну а если exit - просто отдал управление флэшу сразу, сообщил ему, что все инструкции кончились... Да и нету во флэше никакого exit кроме return ...
__________________
Верить никому нельзя. Мне - можно. :) Последний раз редактировалось Dendroid; 10.11.2006 в 22:44. |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:50. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|