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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 27.04.2007, 15:58
MaxD вне форума Посмотреть профиль Отправить личное сообщение для MaxD Найти все сообщения от MaxD
  № 1  
Ответить с цитированием
MaxD
[++1.3 11.01.07]
 
Аватар для MaxD

Регистрация: Jan 2007
Адрес: Ukraine, Kyiv
Сообщений: 104
По умолчанию Передача параметров в listener

Есть элемент, к которому добавлен listener.
Код:
img0.addEventListener(MouseEvent.CLICK,addItem);
Есть, соответственно функция addItem

Код:
private function addItem(e:Event):void{
        ...
}
Мне нужно в эту функцию еще передавать параметр, то есть
Код:
private function addItem(e:Event, str:String):void{
        ...
}
Следовательно, привязка listener должна происходить как-то так:
Код:
img0.addEventListener(MouseEvent.CLICK,addItem(event,myString));
Но ActionScript думает по-другому и выдает такое:
"Implicit coercion of a value of type void to an unrelated type function"

Как передать параметр?

Старый 27.04.2007, 16:08
lowka вне форума Посмотреть профиль Отправить личное сообщение для lowka Найти все сообщения от lowka
  № 2  
Ответить с цитированием
lowka

Регистрация: Sep 2006
Сообщений: 256
Можно написать класс, который будет наследоваться от Event, и в нем передавать нужные параметры.

Старый 27.04.2007, 16:15
MaxD вне форума Посмотреть профиль Отправить личное сообщение для MaxD Найти все сообщения от MaxD
  № 3  
Ответить с цитированием
MaxD
[++1.3 11.01.07]
 
Аватар для MaxD

Регистрация: Jan 2007
Адрес: Ukraine, Kyiv
Сообщений: 104
А проще?

Старый 27.04.2007, 16:26
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Куда уж проще?

Старый 27.04.2007, 16:33
miramax вне форума Посмотреть профиль Отправить личное сообщение для miramax Посетить домашнюю страницу miramax Найти все сообщения от miramax
  № 5  
Ответить с цитированием
miramax
 
Аватар для miramax

Регистрация: Oct 2005
Адрес: Борисоглебск
Сообщений: 1,702
Отправить сообщение для miramax с помощью ICQ Отправить сообщение для miramax с помощью AIM Отправить сообщение для miramax с помощью MSN Отправить сообщение для miramax с помощью Yahoo Отправить сообщение для miramax с помощью Skype™
Ну есть готовый класс DataEvent....
__________________
AS3 | www.FLAPS.ru | Русские флэшеры самые умные флэшеры в мире. ©

Старый 27.04.2007, 16:35
MaxD вне форума Посмотреть профиль Отправить личное сообщение для MaxD Найти все сообщения от MaxD
  № 6  
Ответить с цитированием
MaxD
[++1.3 11.01.07]
 
Аватар для MaxD

Регистрация: Jan 2007
Адрес: Ukraine, Kyiv
Сообщений: 104
Цитата:
Сообщение от __etc
Куда уж проще?
Создать целый лишний класс чтобы один раз передать параметр?

Старый 27.04.2007, 16:41
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А что, жалко что-ли? Да хоть сотня.
Добавить несколько строк кода всего-лишь. Просто в новом файле и все.
Странные люди…

Старый 27.04.2007, 17:26
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 8  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
Как вариант, анонимная функция (специально для ленивцев)

Код:
private function creationCompleteHandler (event:FlexEvent):void {
var testString:String = 'walla';
addEventListener (
     MouseEvent.MOUSE_MOVE, 
     function (evt:MouseEvent):void {
          moveItem (evt, 'test', testString);
     });
}

private function moveItem (evt:MouseEvent, test:String, ... args):void {
trace (test, args);
}

Старый 27.04.2007, 17:36
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Во изврат-то…

Старый 27.04.2007, 17:38
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 10  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
Денис, этож динамика Тут некоторые любители продвинутых динамических языков прям молются на клошуры (MethodClosure), а у нас они на халяву с 5 флэша

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

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

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


 


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


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