![]() |
общее событие для всех потомков MovieClip
есть, класс, наследник MovieClip, у него есть собитие onEvent, программно создается множество расположенных друг на друге(каким образом это будет определяет пользователь) экземпляров этого класса,
как сделать, так чтоб если на одном из мувов наступило это событие его бы слышали и все экземпляры данного класса.... както не очень хочется, при добавлении нового мува переберать все существующие и добавлять их в массив Listener, мож еще способ предложите? |
Сделать класс-вещатель, который будет подписан на события каждого мувика и каждый мувик будет подписан на события вещателя.
Один из мувиков шлет событие вещателю, а тот, в свою очередь, оповещает остальных. |
спасиб за идею..., попробую реализовать...
|
вот тока есть один трабл, мне надо что б при addListener слушатель добавлялся в начало массива слушателей а не в конец
(делал все бродкастом, на семерке) |
Код:
trace(this['_listeners']); |
да вот не совсем, представь, добавил раз - развернул массив, все путем, добавил еще раз, разворачивать назад и добавлять, потом опять разворот, так голова закружится, забыл что книжка есть, посмотрю чего там пишут...
...unshift() и вся любовь |
Ну можешь pop>unshift. Только тогда тебе не addListener пользовать надо, а какой-нибудь другой метод, в котором уже делать addListener и смещать слушателей через pop>unshift.
|
листенеры - точно такой же массив, как и любой другой, т.е. код типа:
Код:
Mouse['_listeners'].unshift('new_listener'); |
Ну да, можно свой addListener написать. Тогда AsBroadcaster вообще можно убрать.
|
| Часовой пояс GMT +4, время: 08:17. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.