Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не могу разобраться с событиями (http://www.flasher.ru/forum/showthread.php?t=118214)

Fillini 18.11.2008 12:05

Не могу разобраться с событиями
 
Здравствуйте, у меня такой вопрос. Допустим на сцена лежат два экземпляра двух независимых классов (А и Б). Как мне сделать так чтобы один породил событие, а второй слышал его.

типа в классе Б
Код AS3:

dispatchEvent(new Event("MyEvent"));

а в классе А
Код AS3:

addEventListener("MyEvent", handler);


mre 18.11.2008 12:09

Слушать событие в их родителе.
В обработчике родителя вызвать нужный метод класса А.

Fillini 18.11.2008 12:14

код можно? А и Б лежат руте

Добавлено через 5 минут
да и еще. Как может родитель слушать события чилда?

mre 18.11.2008 12:35

Цитата:

Сообщение от Fillini (Сообщение 777821)
Как может родитель слушать события чилда?

Вам сюда.

etc 18.11.2008 13:21

Спрайты на одном уровне вложенности не должны слушать друг друга.

http://www.flasher.ru/forum/showthread.php?t=117767

Fillini 18.11.2008 14:37

Спасибо. Я немного перефразирую вопрос. Допустим А это кнопка, при нажатии на которую в Б должен запуститься обработчик. Они лежат на разных степенях вложенности. Могу ли я это сделать не обращаясь к root stage parent и так далее.
То есть я хочу чтоб А рассылал уникальное событие, которое слышит только Б.
root
/ \
/ \
А \
\
\
Б

вот примерно так. И мы не знаем на какой глубине А и на какой глубине Б

etc 18.11.2008 14:43

Это ошибка проектирования. Прочитайте тему, на которую я вам дал ссылку.

Fillini 18.11.2008 15:07

Ок. видимо опять придется возвращатся к root.bla-bla.gotoAndPlay(1);!!
Т.е проходить по всем объектам иерархии.
А я уж подумал что можно без лишнего гемороя обойтись:wacko:

mre 18.11.2008 15:11

Цитата:

Сообщение от Fillini (Сообщение 777896)
А я уж подумал что можно без лишнего гемороя обойтись:wacko:

А где написано, что нельзя обойтись?

etc 18.11.2008 15:21

Fillini, на основании чего вы сделали подобный вывод?


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

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