Показать сообщение отдельно
Старый 06.04.2004, 20:14
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 6  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
а вот я еще велосипед придумал :)
очередной...
Код:
ASBroadcaster.initialize(_root);
_root.onMouseDown = function() {
	this.broadcastMessage("onClick");
};
//
_root.createEmptyMovieClip("a", 1);
_root.createEmptyMovieClip("b", 2);
_root.createEmptyMovieClip("c", 3);
_root.createEmptyMovieClip("d", 4);
_root.createEmptyMovieClip("e", 5);
//
test = function () {
	trace(this);
};
//
a.onClick = b.onClick=test;
c.onClick = d.onClick=test;
e.onClick = test;
//
_root.addListener(a);
_root.addListener(b);
_root.addListener(c);
_root.addListener(d);
_root.addListener(e);
//
trace(_root._listeners);
_root._listeners.reverse();
trace(_root._listeners);
создаём новое событие с тем же смыслом. это нам нужно чтобы управлять порядком исполнения его обработчиков...

если ничего не менять. то обработчики выполняются в порядке вызова addListener для всех объектов подписанных на это событие.

ссылки на слушающие объекты помещаются в массив _listeners внутри объекта-передатчика событий. этот массив можно переколбасиь как угодно, и обработчики будут выполняться именно в том порядке, в каком объекты расположены в этом массиве.

аминь :)