![]() |
Зарегистрировать свой Event для Class`а
Подскажите пожалуйста примерчиком, как для своего объекта в классе описать event, которым бы можно было в дальнейшем пользоваться через
Код AS3:
Код AS3:
|
dispatchEvent + хелп
|
Вот при разборке dispatchEvent столкнулся с такой историей:
Код AS3:
Код AS3:
|
Вы событие диспатчите в конструкторе, а подисываетесь на него после того, как вызываете конструктор.
|
А как правильно? ...что то не уловил логики.
|
Ну вот представьте, что происходит, по времени:
|
А должно происходить как? Суть в том, что мне нужно зарегистрировать "свое" событие, при вызове которого я бы мог получить определенные параметры класса, в данном случае содержимое переменной "mainzx".
|
Ну, подумайте, если вы хотите съесть бутерброд, то, наверное, сначала рот откроете, а потом уже туда бутербродом, правильно? А то если сначала бутерброд, а потом рот открыть - то как-то неудобно получится :)
Смысл подписываться на событие заключается в том, что это самое событие происходит в какое-то неопределенное более позднее время. Поэтому диспатчить событие из конструктора бессмысленно - он все равно всегда вызывается только 1 раз для каждого объекта и вы всегда знаете (можете получить ссылку на этот объект сразу же после его создания - так зачем вам там нужно события диспатчить? Если ван нужен просто пример - поставьте таймер, и по тику таймера диспачте свое событие. |
я вот смотрю код и не пойму какую мысль автор хотел донести.(
|
Вложений: 1
вот, посмотрите пример. думаю, после него все станет понятно )
p.s. wvxvw, твои ответы, как обычно - супер ;) |
Спасибо, этот момент выяснили, остался такой фрагмент: почему после создания объекта в момент прослушивания события в Listener`е
Код AS3:
|
аааа локальная переменнаааая, а если вы про ааааааа() - то это функция, которая видимо не существует, так как по описанию вы думаете, что это переменная.
|
Наверное буков "а" мало написали... ;) По-моему более издевательский способ называть переменные сложно придумать... :D
И не бывает так, чтобы трейс числа не выдал никаких значений - это скорее всего значит, что этот трейс никогда не срабатывает. |
Более издевательский способ - называть переменные lll, llll, lllll, ..., llllllllllllllllll :)
|
Ну хорошо, ...поплнили интернет офтопиком :) ...замечание на тему "имена переменных" - принимаю во внимание, с уважением ;)
Если вы обратите внимние на класс, то увидите там: Код AS3:
Код AS3:
Если я вызываю свойства aaaa вне обработчика события, то имею необходимое значение переменной, ...почему он не выводиться в обработчике события? |
@ GAIKER :
Так нельзя, пайп (|) - это оператор, нельзя его использовать в имени переменной. Но, например, вот такое имя переменной - _______ (7 подчерков) - вполне может быть :) ПС.... или это I (ай прописная?) @ ERrorMAKros : Чудес не бывает, если в вы трейсите число, трейс не может не показать ничего... просто это значит, что при выполнении вашего кода эта функция никогда не вызывается. |
wvxvw, это буква L :)
|
Вложений: 1
Может кто то поковыряет файл?
|
Код AS3:
Код AS3:
(немного имена подрихтовал, но на таймлайне не трогал. + слушателем принято давать имена отражающие то событие, на которое подписывались, т.е. clickHandler, ну, или в худшем случае handleClick или onClick). |
Нет, я вижу такой ход событий, должен выполняться код в event_control()
Результат в trace должен получиться: Код AS3:
|
А с чего бы ему там быть? main "doSomething" никогда ведь не диспатчит... :confused:
|
Я не понимаю где оно должно дизпатчить :( В каком месте :(
|
Ну, например, вместо:
Код AS3:
Код AS3:
|
О! Великолепно! То что нужно! Благодарю!
|
| Часовой пояс GMT +4, время: 11:41. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.