![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Здравствуйте!
Помогите разобраться начинающему кодеру. Есть главный класс Main: package { import flash.display.*; public class Main extends Sprite { public function Main():void { var a:A = new A() a.addEventListener(SimpleEvent.MY_TYPE, onSimpleEvent) a.askForEvent() } private function onSimpleEvent(e:SimpleEvent):void { trace(e.someVar) } } } package { import flash.events.EventDispatcher; public class A extends EventDispatcher { private var b:B; public function A() { super() b = new B() b.addEventListener(SimpleEvent.MY_TYPE, onSimpleEvent) } public function askForEvent():void { b.doEvent() } private function onSimpleEvent(e:SimpleEvent):void { dispatchEvent(e) } } } package { import flash.events.EventDispatcher; public class B extends EventDispatcher { public function B() { super() } public function doEvent():void { var event:SimpleEvent = new SimpleEvent(SimpleEvent.MY_TYPE) event.someVar = "hello!"; dispatchEvent(event) } } } package { import flash.events.Event; public class SimpleEvent extends Event { public static const MY_TYPE:String = "my_type" private var _someVar:String public function SimpleEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false) { super(type, bubbles, cancelable); } public override function clone():Event { return new SimpleEvent(type, bubbles, cancelable); } public override function toString():String { return formatToString("SimpleEvent", "type", "bubbles", "cancelable", "eventPhase"); } public function get someVar():String { return _someVar; } public function set someVar(value:String):void { _someVar = value; } } } типа так: package { import flash.events.EventDispatcher; public class A extends EventDispatcher { private var b:B; public function A() { super() b = new B() b.addEventListener(SimpleEvent.MY_TYPE, onSimpleEvent) } public function askForEvent():void { b.doEvent() } private function onSimpleEvent(e:SimpleEvent):void { var event:SimpleEvent = new SimpleEvent(SimpleEvent.MY_TYPE) event.someVar=e.someVar dispatchEvent(event) } } }
__________________
ЛОГИКА - залог программирования! |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ну а где в clone() копирование _someVar?
|
|
|||||
|
etc, спасибо большое.
Но тогда получается все свойства SimpleEvent нужно передавать в его же конструкторе? Только так? А если у меня там этих свойств куча-кучище? Неудобно как то получается. ((
__________________
ЛОГИКА - залог программирования! |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Цитата:
public override function clone():Event { var e:SimpleEvent = new SimpleEvent(type, bubbles, cancelable); e._someVar = this._someVar; return e; } ![]()
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
i.o. , спасибо большое.
__________________
ЛОГИКА - залог программирования! |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:03. |
|
|
« Предыдущая тема | Следующая тема » |
|
|