![]() |
Транслировать событие
Есть два класса, хотелось бы,чтобы один класс передавалсобытие во второй,а тот спомощью EventListener'а его прослушивал. Как это сделать?
|
Прочитать доку по EventDispatcher и посмотреть примеры.
|
В первый класс передайте ссылку на второй. В первом генеряйте Event, а во втором установите слушателя на первый класс по ссылке:
Код:
firstClassRef.addEventListener(...); |
enepx, а зачем первому ссылка на второй?
|
там, наверное, не ссулку надо а addChild'ом второй объект на первый положить
|
Цитата:
Цитата:
|
enepx, мне как-то всё равно что и когда Вы имеете, просто разные части ваших предложений часто говорят о противоположных вещах.
|
Цитата:
|
Цитата:
Ошибся я, надо наоборот: во второй класс передать ссылку на первый! Если прочесть код моего поста, то там ошибки нет. |
просто передать обычным сеттером, если я правильно понял...только вот зачем? можно использовать обычный dispatchEvent, что придаёт независимость классам.
|
Цитата:
|
так чё надо сделать-то? вас непонятно...какой конкретный конечный результат должен быть?
|
CrazyFlasher, что Вы пристали :) как вы подпишитесь на событие первого класса, во втором не имея доступа, к первому?
|
код
я понял задачу так, может и не верно:
Main: Код:
public class Main extends Sprite Код:
public class ClassOne extends EventDispatcherClassTwo: Код:
public class ClassTwo |
enepx, а зачем метод generateEvent?
|
2 enepx: господа _etc и BlooDHounD имеют ввиду что перредавать objectOne вовсе необязательно. так теряется смысл использования рассылки событий: можно просто заместо обработчика использовать обычную функцию.
|
Цитата:
Код:
public class Main extends Sprite |
enepx, а давно в addEventListener, первым аргументом идёт Event, а не String?
|
Поправил. спасибо.
Так верно (я про идею) ? |
в хелпе вроде не рекомендовалось использовать в качестве второго аргумента листенера функции из других классов. и все равно придется написать addChild(objectOne); иначе ивент не будет проходить через main.
|
Я не понимаю зачем так писать. ClassOne даже не DisplayObject, как его можно добавить?
|
tyapichu, учите матчасть.
enepx, и всё-таки мне казалось в первый итерациях вашей идеи было нечто вроде: Код:
public class Main extends Sprite {Код:
public class ClassOne extends EventDispatcher {Код:
public class ClassTwo { |
Цитата:
|
Цитата:
|
| Часовой пояс GMT +4, время: 21:16. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.