Просмотр полной версии : последовательность исполнения клипэвентов
Denisator
04.12.2002, 21:45
Хотелось бы узнать в какой последовательности исполняются клипэвенты разных клипов лежащих допустим в корне.
Спасибо.
А опытным путём проверить лениво?
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
Кстати, а какой код работает быстрее? Централизовнный или распределённый?
Для таких случаев очень полезно ипользовать ASBroadcaster.
Описание с примерами здесь ...
http://www.umbc.edu/interactive/flash/tutorials/ASBroadcaster.php3
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.