0

CLICK イベントに応答する背景シンボルを持つフラッシュがあります。そのシンボルの上に、透明なピクセルを持つビットマップを含むスプライトがあります。どちらもステージに追加されるので、直接関係はありません。

スプライトの透明なピクセルをクリックすると、背景に直接移動します。

mouseEnabled / mouseChildren について読みましたが、これらを機能させることができませんでした。シンボルは、使用時にマウスイベントを無視しますが、透明であるかのように渡しません。

これはフラッシュで可能ですか?または、マウス イベントを再ルーティングする必要がありますか?

ありがとう

4

2 に答える 2

1

Bitmap にリスナーを追加して (Bitmap をスプライト内にラップする必要はありません)、MouseEvent.CLICK イベントをリッスンできます。

次に、クリック ハンドラー関数で getPixel32 を使用して、クリックされたピクセルのアルファを取得します。

var alpha:String = ( yourBitmap.BitmapData.getPixel32( e.localX, e.localY ) >> 24 & 0xFF).toString(16);
if( alpha == "0" )
    // Trigger your symbol click handler here
于 2010-02-03T13:12:58.360 に答える
0

私は問題が何であるかを理解しました。

私のシーンは次のように構築されています。

ステージ -> コンテナ #1 -> コンテナ #2 -> PlayerSprites -> 背景

プレイヤー スプライトを mouseEnabled = false / mouseChildren = false としてマークすると、実際にはマウスが無効になります。

しかし、その時までに、マウス イベントはコンテナ #2 にあるため、「透明な」方法で背景シンボルに到達しません。

于 2010-02-03T14:20:46.713 に答える