Форум 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=208844)

ivaniyses 08.09.2014 12:22

Как узнать какой кнопкой была вызвана функция?
 
Вот пример кода:
Код AS3:

button1.addEventListener(MouseEvent.CLICK, click);
button2.addEventListener(MouseEvent.CLICK, click);
 
function click(event:MouseEvent):void
{
        //действия
}

И программе нужно понять, кокой из этих двух кнопок была вызвана функция.
Как реализовать?

alexandrratush 08.09.2014 12:25

Код AS3:

var btn:SimpleButton = event.currentTarget as SimpleButton;


ivaniyses 08.09.2014 12:38

Спасибо)

Psijic 12.09.2014 18:59

@alexandrratush
хм, а почему не target?

GBee 12.09.2014 20:22

Цитата:

хм, а почему не target?
target - непосредственный создатель события, currentTarget - на кого подписались. В данном случае без разницы.

gloomyBrain 12.09.2014 20:35

Ну вообще-то в данном случае тоже есть разница. Есл внутри кнопки есть вложенные спрайты или текстовые поля или еще что-то, то именно они могут быть target, а вот currentTarget всегда будет сама кнопка.

GBee 12.09.2014 21:25

mouseChildren = false и снова нет :о)

alexandrratush 12.09.2014 21:39

Цитата:

mouseChildren = false и снова нет :о)
Это понятно. Как по мне, то лучше использовать currentTarget. Подцепил слушатель, проверил в обработчике, и все.:)

GBee 12.09.2014 22:29

Цитата:

Как по мне, то лучше использовать currentTarget. Подцепил слушатель, проверил в обработчике, и все.
От ситуации зависит. Если у вас 500 кнопок на панели, то лучше слушать панель. И по таргету вычленять.

Gerbert 12.09.2014 22:31

Цитата:

Если у вас 500 кнопок на панели, то лучше слушать панель. И по таргету вычленять.
А если восемьсот миллионов...

GBee 12.09.2014 22:35

Цитата:

А если восемьсот миллионов...
То панель будет большая, или это не ребус? :о)

Gerbert 12.09.2014 22:41

Цитата:

То панель будет большая, или это не ребус? :о)
Это тоже самое, что и 500.
Я всегда удивляюсь, как, опытные форумчани спорят о target, а по соседству человек спросил о контроллере
и ему никто не отвечает. Как будто боятся чего-то :)

GBee 12.09.2014 22:42

О каком контроллере?

Gerbert 12.09.2014 22:50

http://www.flasher.ru/forum/showthre...=208839&page=2

GBee 12.09.2014 22:54

Аа, пфф, МВЦ. Пустой спор, их тут "восемьсот миллионов..." (с). И Инфокорыч везде участвует. В результате каждый остается при своем мнении.

Добавлено через 2 минуты
FYI http://www.flasher.ru/forum/showthread.php?t=138349 :о)

in4core 13.09.2014 00:01

Цитата:

Аа, пфф, МВЦ. Пустой спор
В точку


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

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