![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Подскажите пожалуйста примерчиком, как для своего объекта в классе описать event, которым бы можно было в дальнейшем пользоваться через
var MyObj: MyObject = new MyObject(); MyObj.addEventListener(мое_событие_в_классе_MyObject, function_name); Последний раз редактировалось iNils; 18.04.2009 в 17:31. |
|
|||||
|
dispatchEvent + хелп
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
|
Вот при разборке dispatchEvent столкнулся с такой историей:
package { import flash.events.Event; import flash.display.Sprite; public class IEventDispatcherExample extends Sprite { private var mainzx:Number=50; public function IEventDispatcherExample() { var decorDispatcher:DecoratedDispatcher = new DecoratedDispatcher(); decorDispatcher.addEventListener("doSomething", didSomething); decorDispatcher.dispatchEvent(new Event("doSomething")); } public function didSomething(evt:Event):void { mainzx=1112; trace('OK'); } public function aaaaaaa():Number { return mainzx; } } } import flash.events.IEventDispatcher; import flash.events.EventDispatcher; import flash.events.Event; class DecoratedDispatcher implements IEventDispatcher { private var dispatcher:EventDispatcher; public function DecoratedDispatcher() { dispatcher = new EventDispatcher(this); } public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void{ dispatcher.addEventListener(type, listener, useCapture, priority); } public function dispatchEvent(evt:Event):Boolean{ return dispatcher.dispatchEvent(evt); } public function hasEventListener(type:String):Boolean{ return dispatcher.hasEventListener(type); } public function removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void{ dispatcher.removeEventListener(type, listener, useCapture); } public function willTrigger(type:String):Boolean { return dispatcher.willTrigger(type); } } |
|
|||||
|
А как правильно? ...что то не уловил логики.
|
|
|||||
|
Modus ponens
|
Ну вот представьте, что происходит, по времени:
__________________
Hell is the possibility of sanity |
|
|||||
|
А должно происходить как? Суть в том, что мне нужно зарегистрировать "свое" событие, при вызове которого я бы мог получить определенные параметры класса, в данном случае содержимое переменной "mainzx".
|
|
|||||
|
Modus ponens
|
Ну, подумайте, если вы хотите съесть бутерброд, то, наверное, сначала рот откроете, а потом уже туда бутербродом, правильно? А то если сначала бутерброд, а потом рот открыть - то как-то неудобно получится
![]() Смысл подписываться на событие заключается в том, что это самое событие происходит в какое-то неопределенное более позднее время. Поэтому диспатчить событие из конструктора бессмысленно - он все равно всегда вызывается только 1 раз для каждого объекта и вы всегда знаете (можете получить ссылку на этот объект сразу же после его создания - так зачем вам там нужно события диспатчить? Если ван нужен просто пример - поставьте таймер, и по тику таймера диспачте свое событие.
__________________
Hell is the possibility of sanity |
|
|||||
|
я вот смотрю код и не пойму какую мысль автор хотел донести.(
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|