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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.04.2011, 17:47
Atarion вне форума Посмотреть профиль Найти все сообщения от Atarion
  № 1  
Ответить с цитированием
Atarion
Banned
[+6 20.04.11]
[+1 22.08.11]
[+ 31.08.11]

Регистрация: Aug 2010
Сообщений: 196
По умолчанию пытаюсь получить имя объекта в прослушивателе событий

Код AS3:
ui_loader.addEventListener(MouseEvent.CLICK, function(e:Event){
      onImageClick(e);});   
function onImageClick(name:*)
{
trace(name);
}
однако в самом объекте клика -нет информации о том - на каком именно объекте кликали. поэтому я получаю
[MouseEvent type="click" bubbles=true cancelable=false eventPhase=3 localX=61 localY=62.7 stageX=290 stageY=333.95 relatedObject=null ctrlKey=false altKey=false shiftKey=false buttonDown=false delta=0]

как тут можно схитрить чтобы получить имя объекта на котором кликнули?

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Избавиться от замыканий, оно Вам ненадо.
А вообще
Код AS3:
(e.target as DisplayObject).name
или если надо получить имя ui_loader то
Код AS3:
(e.currentTarget as DisplayObject).name

Старый 02.04.2011, 17:55
spooner вне форума Посмотреть профиль Отправить личное сообщение для spooner Найти все сообщения от spooner
  № 3  
Ответить с цитированием
spooner
 
Аватар для spooner

Регистрация: Mar 2009
Сообщений: 207
Код AS3:
ui_loader.addEventListener(MouseEvent.CLICK, function(e:Event){onImageClick(e);});
Интересная конструкция.
Вам самому не кажется странной необходимость создания функции только ради вызова другой функции?
Код AS3:
ui_loader.addEventListener(MouseEvent.CLICK, onImageClick);
Так обычно пишут.

Старый 02.04.2011, 18:02
Atarion вне форума Посмотреть профиль Найти все сообщения от Atarion
  № 4  
Ответить с цитированием
Atarion
Banned
[+6 20.04.11]
[+1 22.08.11]
[+ 31.08.11]

Регистрация: Aug 2010
Сообщений: 196
ну а если надо передать заданный параметр - к примеру стороннее число? тогда уж придется - по моему? делать?

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

Регистрация: Mar 2009
Сообщений: 207
При необходимости передачи доп. параметров создаются кастомные события (экземпляры классов, расширяющих Event) и параметры эти передаются в их теле.

Старый 02.04.2011, 18:10
Atarion вне форума Посмотреть профиль Найти все сообщения от Atarion
  № 6  
Ответить с цитированием
Atarion
Banned
[+6 20.04.11]
[+1 22.08.11]
[+ 31.08.11]

Регистрация: Aug 2010
Сообщений: 196
ты имеешь ввиду внешние классый хранящиеся в *as? что я псих - ради 1 параметра свой клас писать(

Старый 02.04.2011, 18:40
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 7  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Тут все психи, особенно тигры.
__________________
Отряд Котовскага

Старый 02.04.2011, 18:45
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 8  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
и психи, и тигры

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

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Цитата:
тогда уж придется - по моему? делать?
Не делать.
Цитата:
что я псих - ради 1 параметра свой клас писать(
Создать класс пользовательского события не сложно, это нормальная практика, послушайте spooner'а. Послушайте Psycho Tiger'а по поводу анонимных функций. Если вы прослушиваете события типа MouseEvent, то такого же типа должен быть и параметр прослушивающей функции. Также, обычно, у функции указывается тип возвращаемого значения.
Код AS3:
ui_loader.addEventListener(MouseEvent.CLICK, onImageClick);
function onImageClick(event:MouseEvent):void
{
    trace((event.target as DisplayObject).name);
}

Старый 02.04.2011, 18:59
Atarion вне форума Посмотреть профиль Найти все сообщения от Atarion
  № 10  
Ответить с цитированием
Atarion
Banned
[+6 20.04.11]
[+1 22.08.11]
[+ 31.08.11]

Регистрация: Aug 2010
Сообщений: 196
вроде понял. спасибо!

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

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

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


 


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


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