Показать сообщение отдельно
Старый 22.01.2007, 16:08
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 16  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Не надо путать статические свойства с обычными.
Код:
import mx.events.EventDispatcher;
class AnyClass {
    public var addEventListener:Function;
    public var removeEventListener:Function;
    public var dispatchEvent:Function;
    
    private var otherClass:OtherClass;

    public var anyVariable:Number;

    public function AnyClass(otherClass:OtherClass) {
        EventDispatcher.initialize(this);

        this.anyVariable = 5;
        this.addEventListener("onAnyClassEvent",otherClass);
        otherClass.addEventListener("onOtherClassEvent",this);
        otherClass.anyClass = this;

        this.otherClass = otherClass;
        this.sendMessage();
    }

    private function sendMessage():Void {
        this.dispatchEvent({type:'onAnyClassEvent',data:'test'});
    }

    private function onOtherClassEvent(event:Object):Void {
        trace('Class AnyClass received event from OtherClass data: '+event.data+', anyVariable = '+this.anyVariable);
    }
}
Код:
class OtherClass {
    public var addEventListener:Function;
    public var removeEventListener:Function;
    public var dispatchEvent:Function;

    public var anyClass:AnyClass;

    public function OtherClass() {
        EventDispatcher.initialize(this);
    }

    private function onAnyClassEvent(event:Object):Void {
        trace('Class OtherClass received event from AnyClass data: '+event.data);
        if (this.anyClass) {
            this.anyClass.anyVariable = 10;
        }
        this.dispatchEvent({type:'onOtherClassEvent',data:'hello'});
    }
}