0

変数を使ってできるように、オブジェクトを作成するときに関数を設定できますか?

コンテナクラスとCustomButtonクラスがあるとすると:

function doSomething():Void{}

var button:CustomButton = CustomButton{
   posX : 50;
   posY = 100;
   onMouseClicked: doSomething;

}

短編小説:コンテナに配置されたオブジェクトで発生するマウスイベントを処理するには、メインコンテナオブジェクトが必要です。

4

2 に答える 2

1

要件を正しく理解していれば、構文を変更することで実現できると思います。明らかに、カスタムバージョンが必要な場合は、Buttonを拡張できます。

function doSomething():Void{
    println("clicked");
}

var button:Button = Button{
    text: "Click Me"
    translateX: 50;
    translateY: 100;
    action: doSomething
}
Stage {
    title : "ButtonTest"
    scene: Scene {
        width: 200
        height: 200
        content: [ button ]
    }
}
于 2009-10-05T15:38:39.100 に答える
1

最も簡単な変更は、次の変更です。

function doSomething():Void{}

function doSomething(e:MouseEvent):Void{}

actionプロパティは素晴らしいですが、カスタムロールオーバー効果またはonMouseEnteredなどを使用したものが必要だと確信しています。

于 2009-10-05T17:36:03.213 に答える