カスタムイベントを作成しました:
class SomeEvent extends Event {
public static var SOMETHING_CHANGED = "somethingChanged";
public var propery1: String;
public var property2: String;
override public function clone():Event {
var evt: GraphicsEvent = new SomeEvent(type, bubbles, cancelable);
evt.propery1 = propery1;
evt.propery2 = propery2;
return evt;
}
}
その後、Spriteを拡張するクラスにリスナーを追加しました
class SomeClass extends Sprite {
public function SomeClass() {
this.addEventListener(SomeEvent.SOMETHING_CHANGED, somethingChangedHandler);
}
....
public somethingChangedHandler(e: SomeEvent) {
trace("Got event!!");
}
}
最後に、イベントをディスパッチします
var e = new SomeEvent(SomeEvent.SOMETHING_CHANGED);
e.propery1 = "AAA";
e.propery1 = "BBB";
dispatchEvent(e);
このすべての後、トレースが得られなかったため、イベントは発生しません。質問は次のとおりです。何が間違っているのでしょうか。
前もって感謝します!
UPD:とは異なるクラスからイベントを送信していることに注意してください。SomeClass
そのクラス extendsEventDispatcher
です。