|
|
|||||
Цитата:
Цитата:
Если вешать слушатель на каждую кнопку в том элементе, где вы создаете кнопки, то .currentTarget покажет на конкретную кнопку. В данном случае все таки лучше унаследоваться от Sprite чтобы не заморачиваться с двумя проблемами одновременно. ... private function setupButtons():void { var button1:MyLittleButton = new MyLittleButton(); var button2:MyLittleButton = new MyLittleButton(); var button3:MyLittleButton = new MyLittleButton(); addChild(button1); addChild(button2); addChild(button3); button1.addEventListener(MouseEvent.Click, genericClickListener); button2.addEventListener(MouseEvent.Click, genericClickListener); button3.addEventListener(MouseEvent.Click, genericClickListener); } private function genericClickListener(me:MouseEvent):void { trace(me.currentTarget); } ... |
|
|||||
Цитата:
Цитата:
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
Регистрация: Mar 2013
Сообщений: 290
|
KumoKairo, ваш пример несколько проще: у кнопок нет родительского объекта.
Если этот общий код попробовать реализовать применительно к моему примеру, то получается например так: package { import flash.display.*; import flash.events.*; public class Main extends Sprite { private var area1:Area1 = new Area1(); private var krug1:Krug1 = new Krug1(); private var krug2:Krug2 = new Krug2(); private var krug3:Krug3 = new Krug3(); public function Main() { area1.x = 120; area1.y = 150; addChild(area1); krug1.addEventListener(MouseEvent.CLICK, genericClickListener); krug2.addEventListener(MouseEvent.CLICK, genericClickListener); krug3.addEventListener(MouseEvent.CLICK, genericClickListener); } private function genericClickListener(e:MouseEvent):void { trace("e.currentTarget", e.currentTarget); } } } Я пробовал заменить строки вот так: area1.krug1.addEventListener(MouseEvent.CLICK, genericClickListener); area1.krug2.addEventListener(MouseEvent.CLICK, genericClickListener); area1.krug3.addEventListener(MouseEvent.CLICK, genericClickListener); Цитата:
Вариант более оптимального кода - вынести обработчик в отдельный класс. |
|
|||||
Регистрация: Mar 2013
Сообщений: 290
|
KumoKairo, но тогда я что-то общую картинку не сложу до конца.
Цитата:
И как же тогда обратится к этому ребёнку, если нет никакого отношения? Цитата:
|
|
|||||
Lorem ipsum
|
Или я не вник особо, или у вас тут каша какая-то.
Вы что же это, рекомендуете вешать один слушатель на контейнер с кружочками и определять кружок по currentTarget?
__________________
Поймай яблоко 2! |
|
|||||
Регистрация: Mar 2013
Сообщений: 290
|
KumoKairo, У него нет кода, это тупо квадрат (содержащий внутри кружки) созданный вручную в редакторе.
У него имя класса, как и у кружков, сделано посредством галочки Export to ActionScript. Zebestov, ну вот выше в трэде мы выяснили что задачу легко решить через .target А если попробовать сделать то же самое с currentTarget, то возникает вопрос, как это разрулить, с учетом того, что родительский объект содержит в себе объекты, на которых слушатели повешены. |
|
|||||
Lorem ipsum
|
Цитата:
Цитата:
Добавлено через 2 минуты Цитата:
Нужно как раз наоборот
__________________
Поймай яблоко 2! |
Часовой пояс GMT +4, время: 15:50. |
|
« Предыдущая тема | Следующая тема » |
Теги |
addeventlistener , movieclip , единый слушатель |
|
|