1

Flash Professional で ActionScript 3 を使用しています。カスタム イベントではなく、既存のイベントをクラスで発生させたいと考えています。EventDispatcher を拡張するようにクラスをセットアップしました。ドキュメントhttp://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/EventDispatcher.htmlの例では、静的文字列変数を追加してカスタム イベントを宣言しています。

class CustomDispatcher extends EventDispatcher {

        public static var ACTION:String = "action";

私はそれが可能になると仮定します:

dispatcher.addEventListener(CustomDispatcher.ACTION, actionHandler);

または、Flash Professional IDE に「dispatcher.addEventListener(」と入力すると、少なくともオートコンプリートされます。

しかし、イベントを発生させるクラスの多くは、既存の非カスタム イベントを混合して発生させます。たとえば、flash.netFileReference のインスタンスがあり、次のように入力するとします。

fileRef.addEventListener(

DataEvent.UPLOAD_COMPLETE_DATA、Event.SELECT、HTTPStatusEvent.HTTP_STATUS、SecurityErrorEvent.SECURITY_ERROR などを含む、リッスンする可能性のあるイベントの長いリストが提供されます。

これらの既存のイベントを発生させるためにクラスを登録したい場合、どのようなコードが必要ですか? できれば、私のクラスのインスタンスがイベントを発生させ、addEventListener オートコンプリート/インテリセンス リストでそれらを提案する可能性があることを IDE が認識できるようにします。

4

1 に答える 1

4

イベントをインテリセンスに表示するには、イベント メタタグを使用してイベントを登録する必要があります。

[Event(name="eventName", type="package.eventType")]

このイベントを送出するクラスの直前にこれを追加します。

于 2012-01-23T11:54:26.220 に答える