![]() |
Как передать параметр прослушивателю события?
Такая ситуация. Есть несколько MovieClip-ов, расположенных в массиве, например:
Код AS3:
Код AS3:
|
много способов.
Самый элементарный - воспользоваться тем, что MovieClip - динамический класс Код AS3:
P.S. Не ленитесь ставить () после объявления экземпляра класса. Не создавайте функцию в addEventListener - они потом висят в памяти. |
Спасибо за быстрый ответ и за замечания :-) Буду пробовать.
|
Есть еще Array.indexOf()
))) А правильнее по-моему просто завести в классе RightHeart свойство экземпляра key. |
Цитата:
Код AS3:
|
не, это как раз мой способ, а он имеет ввиду создать класс
Код AS3:
|
Код AS3:
Код AS3:
|
А я такой *****кодер, такой *****кодер =) У меня даже есть
Код AS3:
|
грамотнее, на самом деле, создавать хэши с "приватными" классами, в которых хранятся нужные вам значения.
Код AS3:
|
я класс Dictionary упоминал вторым постом =)
|
iflamberg ну в коде Вы привели совсем другое. чего там дальше мимолётно упоминается я не обратил внимание =) да и думаю, что автору не очень было ясно как оно делается после вашего упоминания.
|
Извините, если здесь обсуждалось уже где-то, но вот по теме и, что самое главное, оно работает.
http://pavelk.ru/?p=235#respond |
Не делайте никогда, так как описано по ссылке. Это в первую очередь чревато засорением памяти, а во вторую просто не удобно.
Если вам не нравится то, что слушателя можно вызвать с всего одним параметром - напишите функцию, которая принимает больше параметров, и вызовите ее. Хотя ситуация, когда в одном параметре слушателя нельзя передать все, что вам нужно возникает крайне редко, мне даже тяжело представить ситуацию, когда она могла бы возникнуть... |
КорДум, никогда не делайте так как там написано.
Добавлено через 19 секунд лол ) Олег опередил ) |
Хм, хорошо. Вот и ходи по блогам, собирай изобретенные велосипеды...
|
Цитата:
|
Цитата:
Цитата:
Или тут не об этом? |
Имхо, если правильно перефразировать вопрос, то и проблема сама собой снимется.
Надо не искать способ передать параметр слушателю, а просто обеспечить ему необходимую информацию для дальнейших действий. Т.е., в идеале слушатель берет таргетный объект (уж его то он всегда знает) и получает информацию из его свойств/методов. Соответственно, эту информацию мы должны заложить в объект в момент его порождения или как-то так, но до момента возникновения события. Что и было отражено в предлагаемых решениях. |
arkadattx, тот вариант не лучше =) человек не понимает вообще сути того что делает.
mikhailk, у-ук. |
BlooDHounD, а где можно почитать про более достойные способы?
ЗЫ. извиняюсь что не по теме. Кстати по теме. Помню во время изучения ас2 очень понравилась фраза "субстрингом по неймам", т.е. почему нам не взять эту переменную из имени самого объекта? На сколько это будет верным решением? Мы при этом не создаем дополнительных переменных, не пишем (возможно) дополнительный класс, но при этом используем теже регэкспы. |
в этом топике можно прочитать.
из имени её брать не всегда получится. увы. |
если аварийно
запихивать инфо в имя, а потом сплитить и получать индексы и прочую лабуду. но это неправильно не надо так делать. :) |
| Часовой пояс GMT +4, время: 21:44. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.