2009-05-18 6 views
1

コンテナMCに複数のMCを配置しようとしていますが、MCをクリックするとメッセージが送信されます。これは、AS3ではmc.addEventListener(MouseEvent.CLICK、obj)と同じようにシンプルになります。しかし、これはAS 2なので、私はbroadcastMessage( 'myMessage')を使用するために半強制的です。およびmc.addListener(obj);イベントハンドラ。複数MC、シングルリスナ、AsBroadcaster

主な問題は、ブロードキャスタがメッセージをブロードキャストしていないことです。

第2の問題は、5つのMCがあり、そのうちの1つをクリックすると、クリックに関する5つのトレースメッセージが表示されることです。私は、プロパティパネルで別々のインスタンス名が与えられていても、MCクリックを一意に保つことはできないようです。

ご協力いただければ幸いです。

私のコードへのリンクはhere (pastie.org #481511)です。間違ったことが見える?

答えて

0

半分の回答があります。私はbroadcastMessage()コールの前にthis.broadcastMessage( 'myMessage'、this)に変更した後、 "this"を失いました。

同じブロードキャストメッセージを同時に呼び出す1つのムービークリップの5つの異なるインスタンス(つまり、ライブラリから5回ドラッグして別のインスタンス名を付けた)を持つ問題があります。私は次の出力を得ます:

Object: _level0.instance1.photo5 
Object: _level0.instance1.photo4 
Object: _level0.instance1.photo3 
Object: _level0.instance1.photo2 
Object: _level0.instance1.photo1
0

それを考え出しました。クリックが特定のムービークリップ内にあるかどうかを確認するためにhitTest()メソッドを使用する必要がありました。

関連する問題