Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   последовательность исполнения клипэвентов (http://www.flasher.ru/forum/showthread.php?t=40530)

Denisator 04.12.2002 21:45

последовательность исполнения клипэвентов
 
Хотелось бы узнать в какой последовательности исполняются клипэвенты разных клипов лежащих допустим в корне.
Спасибо.

TTS 05.12.2002 01:22

А опытным путём проверить лениво?

Denisator 05.12.2002 01:30

я попробовал, но всё равно не понятно было.

DeliMIter 05.12.2002 11:48

Трейсов понаставь с разными значениями и смотри, в какой последовательности они исполняются.

Max N Chubin_ 05.12.2002 13:24

гы гы
 
а мне всегда было интересно, что за конь придумал такую сортировку объектов?
for(t in _root){
i++;
trace("№"+i+" - "+t);
}

Зуб даю что индус напакостил!
;)

Max N Chubin_ 05.12.2002 13:56

я не кончил...
 
что-то у меня с мыслей случилось и отправил недопИсав...
так вот...

в мпроект где в руте куча клипов вставляем код,
пишем в _root:

function me() {
trace(this);
}
for (t in _root) {
_root[t].onMouseUp = _root.me;
}

теперь жмем мышЕ на левый глаз (Button) и читаем имена клипов.... по порядку номеров...

Denisator 05.12.2002 16:15

Блин, а как регулировать этот процесс? Тоесть как сказать этому клипу чтобы он запустился первым, этому вторым и т.д.

Ах да! и всё это для пятёрки...

Max N Chubin_ 05.12.2002 16:31

какой такой павлин-шмавлин?
 
ты бы сразу объяснил чего тебе надобно от несчастного флэша... нафига тебе менять порядок реакции клипов на события? :confused:
могу предположить такой вариант (из далекого детства) :p
сделали меню состоящее из кнопок (клипов) для каждой кнопки прописано событие onMouseDown (нажат батон мыши), но они гады все одновременно отрабатывают это событие! Ай яй яй. какая беда! Как же сделать так чтобы нужный клип первым и единственным отрабатывал это событие? и тут мы вспоминаем о hitTest - и все становиться пучком!

К чему я клоню? мммммм... забыл.. :confused:
ах да! ;)
ищи другой способ решения вопроса!
Если закон не отменить, его надо обойти!
:cool:

Denisator 05.12.2002 17:04

Боюсь не всё так просто :-).
Есть клип ( кажется его обычно называют монитором) который расчитывает положение других клипов и передаёт им их координаты. Потом эти клипы смотрят у себя эти координаты и идут по ним. Вообщем надо чтобы монитор срабатывал первым, а отальные клипы уже после него.

Max N Chubin_ 05.12.2002 17:17

все еще проще...
 
м-да..
не вижу смысла что-то менять в механизме обработки...
продумай лучше алгоритм передачи переменных...
по моему совсем не имеет значение кто из клипов сработает первым, а кто вторым если учесть что они опрашиваются 12 раз в секунду. Ну а если принципиально чтобы самый первый ход был за клипом конроллером, то поставь ему первую передачу переменных в событие кроме onEnterFrame еще и в onLoad, а остальным двум обработку значений в onEnterFrame.

Denisator 05.12.2002 17:33

Цитата:

не вижу смысла что-то менять в механизме обработки...
Дался тебе этот "смысл"!
Ну вот нужно мне!
Ты лучше скажи можно или нельзя?

Max N Chubin_ 05.12.2002 17:42

можно...
 
все можно если нужно!
можно например
перемещение клипов 1 и 2 оформить в виде внешних функций, которые и будет вызывать контроллер ТОЛЬКО вслед за тем как вычислит их новые координаты! Чего ты привязался к рапределенному коду? Централизуй его хотя бы в той части в которой это критично и не нужно будет извращаться!

Ну а если ты такой принцЫпиальный, то можно заметить из приведенного мною выше кода, что клип созданный последним (по умолчанию), первым обрабатывает событие.
так что создай сначала клип 2 потом клип 1, а уж потом контроллер и все будет пучком!

Хотя я бы так не делал! Как-то это неправильно!
Успехов!

Denisator 05.12.2002 18:16

Вот спасибо :-).

Denisator 07.12.2002 00:16

Кстати, а какой код работает быстрее? Централизовнный или распределённый?

Hirn 07.12.2002 13:06

Для таких случаев очень полезно ипользовать ASBroadcaster.
Описание с примерами здесь ...
http://www.umbc.edu/interactive/flas...oadcaster.php3


Часовой пояс GMT +4, время: 11:15.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.