0

大きなプラスまたは大きなマイナスになるコンポーネントを作成しています。Graphics クラスを使用してこれを描画することもできるため、ビットマップを使用したくありませんが、コンポーネントはクリック可能でなければなりません (Shape クラスはそうではありません)。

アイテムレンダラーの一部になるので、できるだけ軽量にしたいです。UIComponent は CLICK メッセージを送信していないようです。

アイデアをありがとう

4

3 に答える 3

2

Sprite オブジェクトを作成し、マイナスとプラスの矢印をそのグラフィックス オブジェクトに描画することをお勧めします。その後、addEventListener(MouseEvent.CLICK, someFunction); を追加する必要があります。そのコンストラクターまたは他の必要な場所で。

フレームごとに再描画されないように、その時点で cacheAsBitmap を true に設定することもできます。


編集: @jeremyne​​albrown によると、明らかに Flex で作業している場合は、SpriteAsset クラスを使用する必要があります。非常に似ていますが、さらに 2 レベルの抽象化が追加されています。

于 2010-01-23T00:24:27.623 に答える
1

ここを見れば: UIComponent Docs

UIComponent の継承パスに InteractiveObject があることがわかります。InteractiveObject は、マウス イベント機能を追加するクラスです。

于 2010-01-23T00:13:49.283 に答える
1

UIComponent は実際にクリック イベントを送出します。ただし、グラフィックスに描画されるコンテンツがない場合、UIComponent にはクリックできる領域がありません。描画するプラス アイコンまたはマイナス アイコンが小さすぎてマウス アクティビティを確実にキャッチできない場合は、完全に透明な四角形を描画して、ヒット領域を増やします。

于 2010-01-23T00:40:03.853 に答える