Показать сообщение отдельно
Старый 15.08.2013, 11:24
Fogflasher вне форума Посмотреть профиль Отправить личное сообщение для Fogflasher Найти все сообщения от Fogflasher
  № 10  
Ответить с цитированием
Fogflasher

Регистрация: Mar 2013
Сообщений: 290
Hauts, нет, так не помогло:
Код AS3:
			if (e.currentTarget is Krug1)
			{
				trace("Krug1");
			}
Иф не срабатывает, видимо потому что e.currentTarget = Area1, то есть квадрату-родителю.
Спасибо за указание на прием: is Object, я не сообразил что так можно.

Deimos747, AlexLucas, Котейка, благодарю за наводку на .target, сделал вот так:

Код AS3:
 
			if (e.target is Krug1)
			{
				trace("Krug1");
			}
			else if (e.target is Krug2)
			{
				trace("Krug2");
			}
			else if (e.target is Krug3)
			{
				trace("Krug3");
			}
Всё работает : ) Вроде никакие заморочки с шейпами и хитрыми номерами не нужны.
Или может быть они были бы нужны в каком-то более сложном случае? Например при сильной вложенности, или еще как.

Dukobpa3,
Код AS3:
А вот это слегка вырвиглазое решение.
А почему кстати? Я только недавно изучаю AS3.0, но по совету maincode расширял в данном случае не Sprite, а EventDispatcher.

Dukobpa3,
Цитата:
Подписаться на все три клика одним листенером и смотреть event.currentTarget
Не совсем понимаю, что вы имеете ввиду? То есть на каждый кружок повесить addEventListener, но который ссылается на единый обработчик?

SvetozarPNZ, мне просторе решение с target помогло.
Про useCapture не в курсе, возможно это нужно в более сложных случаях вложенности объектов? За ссылку спасибо.