Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.07.2013, 18:42
TurboDizel вне форума Посмотреть профиль Отправить личное сообщение для TurboDizel Найти все сообщения от TurboDizel
  № 1  
Ответить с цитированием
TurboDizel
 
Аватар для TurboDizel

Регистрация: Apr 2010
Сообщений: 137
По умолчанию Получить мувик, который вещает событие

Есть три класса: главный (Main.as), Menu.as, Slot.as. Объект класса Slot (_slot1) добавлен в объект класса Menu.as (_menu). _slot1 вещает событие в своего parent`а (в _menu), и это событие ловится из Main.as. Т.е.:
Код AS3:
//в Slot`е
parent.dispatchEvent(new Event("event"));
 
//в Main.as
_menu.addEventListener("event", ev);
 
function ev(e:Event):void {
 
}
Как мне в функции ev(e:Event) получить мой _slot1? А то e.currentTarget возвращает _menu.

Старый 20.07.2013, 21:50
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 2  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
http://stackoverflow.com/questions/5...-currenttarget
Сам часто путал target и currentTarget

target - это то, что вещает событие (то есть ваш мувик)
currentTarget - это то, что подписано на событие (то есть контейнер в вашем случае)

UPDATE========

Блин, и правда же
Код AS3:
parent.dispatchEvent(...)
>.< А я то думал слот1 диспатчит


Последний раз редактировалось KumoKairo; 21.07.2013 в 01:01.
Старый 20.07.2013, 23:22
raltm вне форума Посмотреть профиль Отправить личное сообщение для raltm Найти все сообщения от raltm
  № 3  
Ответить с цитированием
raltm

Регистрация: Sep 2008
Сообщений: 41
в данном случае target и currentTarget покажут одно и то же
почему бы slot1 самому не рассылать событие?

Код AS3:
//в Slot`е
dispatchEvent(new Event("event"), true);
в menu его все равно можно отловить и добраться к нему через target

Старый 22.07.2013, 18:03
TurboDizel вне форума Посмотреть профиль Отправить личное сообщение для TurboDizel Найти все сообщения от TurboDizel
  № 4  
Ответить с цитированием
TurboDizel
 
Аватар для TurboDizel

Регистрация: Apr 2010
Сообщений: 137
Цитата:
Сообщение от raltm Посмотреть сообщение
в данном случае target и currentTarget покажут одно и то же
почему бы slot1 самому не рассылать событие?
У меня добавлено 6 слотов, и не хотелось бы писать вот такое:
Код AS3:
_slot1.addEventListener("Event", func);
_slot2.addEventListener("Event", func);
_slot3.addEventListener("Event", func);
_slot4.addEventListener("Event", func);
_slot5.addEventListener("Event", func);
_slot6.addEventListener("Event", func);
Одним слушателем было бы как-то по-правильнее, но видимо придется сделать так, как вот привел пример.

Старый 22.07.2013, 20:16
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 5  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
У меня добавлено 6 слотов, и не хотелось бы писать вот такое:
Цитата:
в menu его все равно можно отловить и добраться к нему через target
Читайте ответы внимательней. Люди стараются для Вас.
__________________
Reality.getBounds(this);

Старый 22.07.2013, 20:20
chamele0n вне форума Посмотреть профиль Отправить личное сообщение для chamele0n Посетить домашнюю страницу chamele0n Найти все сообщения от chamele0n
  № 6  
Ответить с цитированием
chamele0n
[+4 24.04.13]
[+4 20.04.13]

Регистрация: Feb 2013
Адрес: Seireitei
Сообщений: 176
ну так в цикле добовляй слушатели, а то придется каждый раз заморачиваться при изменении кол-ва слотов
ну или другой вариант расширить класс Event запихнув в нету переменую slot
__________________
Personal Page
$demo = $away3d + $bullet + $pathfinding;

Старый 22.07.2013, 21:15
raltm вне форума Посмотреть профиль Отправить личное сообщение для raltm Найти все сообщения от raltm
  № 7  
Ответить с цитированием
raltm

Регистрация: Sep 2008
Сообщений: 41
Цитата:
Сообщение от TurboDizel Посмотреть сообщение
У меня добавлено 6 слотов, и не хотелось бы писать вот такое:
...
Одним слушателем было бы как-то по-правильнее, но видимо придется сделать так, как вот привел пример.
такого писать и не надо
достаточно
Код AS3:
_menu.addEventListener("Event", function(e:Event):void{trace(e.target);});

Создать новую тему Ответ Часовой пояс GMT +4, время: 09:56.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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