Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Прослушиватель AddEventListener (http://www.flasher.ru/forum/showthread.php?t=125141)

Sandra 17.05.2009 16:50

Прослушиватель AddEventListener
 
Доброго времени суток:)
Вопрос такой: если добавлять прослушиватель чего-либо, пишем так AddEventListener([событие], [функция]). Можно ли в эту функцию, которую вызывает прослушиватель передавать еще что-нибудь кроме самого события?
Допустим мне нужно получать туда еще и интеджеровое число.

etc 17.05.2009 18:47

Нет, нельзя. Взрослые дяди используют либо хеш на основе Dictionary, либо кастомные события, либо просто в наследнике, посылающем событие создают нужное свойство, либо всё вместе и сразу.

Sandra 17.05.2009 19:01

Про последнее понятно. Про хеш надо почитать, такой штуки еще не знаю. Спасибо за ответ)))

AL.exe 17.05.2009 23:02

Лучше к кастомным событиям приглядитесь - обычно это удобнее, хотя зависит от ситуации.

darksranger 17.05.2009 23:13

хеш на основе Dictionary
1 раз понять потом за уши не оттащишь )))))) меня спасает постоянно

делается очень просто

Код AS3:

 
private var hash:Dictionary = new Dictionary()
....
var sameObject:same ....
var thumbs:InteractiveObject = sameObject as InteractiveObject
thumbs.addEventListener(sameEvent,this.sameFunction)
hash[thumbs] = "sameData"
....
private function sameFunction(event:Event):void{
    var target:InteractiveObject = event.target as InteractiveObject
    trace(hash[target]) // sameData
 
{

писал на коленке, после очень долго сидения в FD, так что за грамматику не ручаюсь, но думаю сам смысл понятен

Kuruki 17.05.2009 23:58

Хмм, ни разу еще не использовал Dictionary... А зачем приводить sameObject к InteractiveObject?
Думаю вещь удобная, но для того, чтобы написать что-нибудь на скорую руку. А так, все-таки кастомные события или свойства объекта

dimarik 18.05.2009 00:39

В основном, там, где возможно, использую (event.target as СustomObject).property.
Словарик не понадобился пока в таких целях ни разу. Кастомные события, передающие значения считаю злом. Спросите лично почему =).

AL.exe 18.05.2009 00:54

Вы меня, конечно, извините, но словарь - это какой-то идеалогически неверный подход, на мой взгляд. Кастомное событие лень описать? :)

dimarik 18.05.2009 01:00

Что должно описывать событие по-Вашему?

UPD! Сейчас начнется холивар! Сейчас, сейчас! =)

BlooDHounD 18.05.2009 01:12

AL.exe, не лень :) просто незачем передавать в событиях состояния своих target, или свойства, которые связанные с объектом. в событиях должны передаваться свойства, которые никак не достать. например, старое значение переменной, или какое-то приватное свойство, которое не торчит наружу.


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

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