1

組み込みを使用している場合EventDispatcher、コード補完は、クラスによって発生するすべてのイベントのリストを表示します。例:

コード補完 - 組み込みクラス

自分のクラスで同じことを達成するにはどうすればよいですか。たとえば、次のようにイベント クラスを拡張できます。

import flash.events.Event;

public class MyEvent extends Event
{

    //Event Types
    public static const FIRST_EVENT:String = 'firstEvent';
    public static const SECOND_EVENT:String = 'secondEvent';

    //Construct
    public function MyEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
    {
        super(type, bubbles, cancelable);
    }
}

そして、次のEventDispatcherように書くかもしれません:

import flash.events.EventDispatcher;
import flash.events.IEventDispatcher;

public class MyEventDispatcher extends EventDispatcher
{
    public function foo() :void{
        dispatchEvent(new MyEvent(MyEvent.FIRST_EVENT));
    }

    public function bar() :void{
        dispatchEvent(new MyEvent(MyEvent.SECOND_EVENT));
    }

}

自分のイベントをコード補完ボックスに表示するにはどうすればよいですか?

次のように、クラスの上でメタデータを使用できることを認識しています。

[Event(name="firstEvent", type="my.MyEvent")]
[Event(name="secondEvent", type="my.MyEvent")]

しかし、これは MXML にのみ有効であり、コード補完は文字列値 ( "firstEvent") のみを認識し、const ( MyEvent.FIRST_EVENT) は認識しません。

Flash Builder 4.7 を使用しています。

4

0 に答える 0