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

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

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

Регистрация: Apr 2010
Сообщений: 97
Question Передать переменную в функцию к слушателю

Такой вопрос, это единственный способ передать аргумент в функцию в слушателе?
Код AS3:
	endInfo.catBatman.addEventListener(MouseEvent.CLICK, function(){choiceCostume(typeCat="Batman");}, false, 0, true);

Старый 29.09.2014, 16:13
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 2  
Ответить с цитированием
Gerbert
Banned
[+1 06.12.14]
[+1 18.12.14]
[+1 30.12.14]

Регистрация: Aug 2014
Сообщений: 461
Код AS3:
private function test(  a, b ):void
{
	// сюда аргументы можно передать так 
	// test( a, b );
	// test.call( context, a, b );
	// test.apply( context, [a, b] );
	// И есть вероятность того, что ещё можно через describeType
	// но я не могу так вот на вскидку показыть...
}
Добавлено через 1 минуту
И У Вас неправильно написано, в передаваемом методе в аргументах должен быть event указан.
И в as3 не принято анонимные функции делать.

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

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
есть всего два вменяемых способа: передать нужные данные или в свойсте события или таргета события
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 29.09.2014, 19:55
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 4  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
http://www.flasher.ru/forum/showthread.php?t=147849
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 01.10.2014, 17:36
van90 вне форума Посмотреть профиль Отправить личное сообщение для van90 Найти все сообщения от van90
  № 5  
Ответить с цитированием
van90

Регистрация: Jul 2014
Сообщений: 32
Мне пришелся по душе такой способ:
Код AS3:
obj.params = 
{
 //свойства, которые надо передать
};
 
obj.addEventListener(MouseEvent.CLICK, onClick);
 
private function onClick(e: MouseEvent) : void
{
    //тут обитают все эти параметры
    e.currentTarget.params
}

Старый 01.10.2014, 18:41
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 6  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
а причём здесь хэндлер?

Старый 01.10.2014, 20:12
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 7  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от van90 Посмотреть сообщение
Мне пришелся по душе такой способ:
Код AS3:
obj.params = {
 //свойства, которые надо передать
};
 
obj.addEventListener(MouseEvent.CLICK, onClick);
 
private function onClick(e: MouseEvent):void {
    //тут обитают все эти параметры
    e.currentTarget.params
}
По сути способов получения всего два + один читерский.
Про первые два рассказал cleptoman, еще в литературе называют их как push и pull соответственно.
Третий способ зависит от таргета. Раз уж к нам в хэндлер приходит таргет, то в зависимости от него, эмпирически получать тот или иной параметр.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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