![]() |
0 Всего найдено: 9
vvvvictor2007
Сообщение
05/12/2009 20:21
Копия темы
Как вызвать из обычного класса на сцене метод главного класса? AS3 Задачу меня поставила в тупик. Есть главный класс GAME. В него помещают клаcc MAP. (это программно). Но в классе Map есть мувики (класс Lamp), которые я вставляю через редактор flash. Как вызвать из класса Lamp методы класса GAME? Проблема в том, что у классов Lamp нет имени (так как их очень много). Как сообщить главному классу о них? Буду благодарен за любую информацию по теме.
mayakwd
Сообщение
05/12/2009 20:42
Копия темы
не используйте из подчиненного класса обращение к главному. используйте вызовы через события. например в главном классе пишем: --- ... map.addEventListener ("UPDATE_AFTER_MAP_REDRAW", updateParams); ... private function updateParams (event : Event) : void { ... } --- в классе map в необходимом месте диспетчим событие this.dispatchEvent (new Event ("UPDATE_AFTER_MAP_REDRAW")); если вам необходимо передавать параметры какие-то то создавайте свое событие и наследуйте его от Event.
vvvvictor2007
Сообщение
06/12/2009 09:46
Копия темы
Вы не поняли. У GAME НЕТ ССЫЛКИ на другие классы(кроме Map). Мне нечему присваивать слушатель. В Map находятся классы Lamp. Классы Game, Map о них не знают, так как они созданы через обычный редактор (мувики набросаны вручную).
cleptoman
Сообщение
06/12/2009 18:52
Копия темы
это вы не поняли...читайте про EventDispatcher И свойство bubbles класса Event.
vvvvictor2007
Сообщение
06/12/2009 19:56
Копия темы
Прочитал уже давно. Может я чего-то и не понимаю, тогда скажите как присвоить слушатель события на нечто неизвестное. Game не имеет ссылки ни на один из классов Lamp. Но должен их обрабатывать. P.S. вопрос решил через (многочисленый parent as GAME).метод()
cleptoman
Сообщение
07/12/2009 07:35
Копия темы
вам нужно подписать гейм на кастомное событие, а при добавлении ламп диспатчить это событие с баблингом = тру ..гейму не нужны никакие ссылки на ламп, а многочисленный парент зло..так делать нельзя.
vvvvictor2007
Сообщение
07/12/2009 13:58
Копия темы
0
"кастомное событие" можно поподробнее? Пример? |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |