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

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

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

Регистрация: Feb 2010
Сообщений: 102
Question можно ли в слушатель передать несколько параметров?

можно ли в слушатель передать несколько параметров?

пример такой :
Код AS3:
private var timerAlphaMinus:Timer=new Timer(100, 10);
....
timerAlphaMinus.start();
timerAlphaMinus.addEventListener(TimerEvent.TIMER, alphaMinus);
...
private function alphaPlus(e:TimerEvent, i:int):void
{
   arr[i].alpha-=0.1;
}
суть в том что в ф-цию alphaPlus надо передать определённый индекс массива arr


Последний раз редактировалось metsys; 25.06.2010 в 18:26.
Старый 25.06.2010, 21:00
alexberkut вне форума Посмотреть профиль Отправить личное сообщение для alexberkut Найти все сообщения от alexberkut
  № 2  
Ответить с цитированием
alexberkut

Регистрация: Jun 2010
Адрес: Беларусь, Гродно
Сообщений: 58
можно сделать так
Код AS3:
private var timerAlphaMinus:Timer=new Timer(100, 10);
....
timerAlphaMinus.start();
timerAlphaMinus.addEventListener(TimerEvent.TIMER, buildAlphaPlusHandler(i));
...
private function buildAlphaPlusHandler(i:int):Function
{
  return function (e:TimerEvent): void
  {
     arr[i].alpha-=0.1;
  }
}
может этого хватит

Старый 25.06.2010, 21:59
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 3  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
1. Зачем?
2. Нет.
3. Не занимайтесь глупостями.
__________________
Hell is the possibility of sanity

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
на самом деле, вопрос достаточно понятный при переходе на AS3 )))

metsys, надо просто привыкнуть к тому что "слушатель" - это не "callback-функция". Не надо туда ничего передавать. Слушатель реагирует на событие объекта. Все, что он знает - это объект, который продиспатчил событие. Соответственно, этот объект должен знать и отдать при необходимости всю необходимую информацию.

Ну а на практике еще, конечно, пользуются переменными класса.

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Код AS3:
(e.currentTarget as YourClass).yourVariable;
Передали.

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от mikhailk Посмотреть сообщение
metsys, надо просто привыкнуть к тому что "слушатель" - это не "callback-функция".
Для тех, кто не в курсе, "слушатель" - это "callback-функция".
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 26.06.2010 в 03:15.
Старый 26.06.2010, 03:14
Сайлас вне форума Посмотреть профиль Отправить личное сообщение для Сайлас Найти все сообщения от Сайлас
  № 7  
Ответить с цитированием
Сайлас

Регистрация: Mar 2008
Сообщений: 259
Кстати, в случае отписывания от самого себя я все еще уверен и пытаюсь убедить что удобнее всего инкапсуляцию использовать хоть и есть те кто очень против нее

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от Сайлас Посмотреть сообщение
Кстати, в случае отписывания от самого себя я все еще уверен и пытаюсь убедить что удобнее всего инкапсуляцию использовать хоть и есть те кто очень против нее
У Вас была необходимость подписываться на самого себя?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 26.06.2010, 03:41
Сайлас вне форума Посмотреть профиль Отправить личное сообщение для Сайлас Найти все сообщения от Сайлас
  № 9  
Ответить с цитированием
Сайлас

Регистрация: Mar 2008
Сообщений: 259
Ну конечно. Дослушать мувик, например, до определенного момента, на середине сделать одно действие, а в конце другое+удалить со сцены - это как самый простой пример.
А так у меня в проектах встречается то там, то тут как-то. Неужели у вас такого не бывает?

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Не-а. Как Вам это удается? )

А если Вам на середине нужно сделать другое действие, то как поступаете?

Я обычно в таких случаях рулю отношениями master-slave.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 26.06.2010 в 03:54.
Создать новую тему Ответ Часовой пояс GMT +4, время: 20:28.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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