2012-04-29 1 views
1

ステージ上に多数のムービークリップがあり、それぞれに独自のイベントリスナーがあります。 Click/Touchイベントが呼び出されると、各ムービークリップが何かを行います。たとえば、1つのmovieClipでは、約6つの他のムービークリップが表示されます。マウスクリックがMovieClipにないかどうかをチェック

私がしたいことは、ステージ上のどこか他の場所でタッチ/クリックすると、知りたいムービークリップがないので、ムービークリップを見えなくするなどのアクションを実行できます。

P.私がタッチ/クリックと言う理由は、私はAndroid用のこのアプリを開発していますが、テストを簡単にするために、私は現在TouchEventではなくMouseEventですべてをテストしています。すべての機能が機能したら、TouchEventに切り替えてモバイルでテストします。

多くのおかげで、 マイク

+0

あなたは...また、ステージのオブジェクトに – Kamal

+0

をイベントリスナーを添付することができますが、これはまた、ムービークリップのクリックに対して聞かないでしょうか?彼らはステージにいるので。または私はそれを間違っているか? – user1005253

+0

いいえ..ステージだけがイベントを聴いています。それはイベントの発送方法とは異なります。コンテナからはステージに来て戻ってくるでしょう。あなたのムービークリップには届かないでしょう。ステージでのみ終了する、あなたはadobeのlivedocsを介して行うことができます..彼らはかなりうまく説明している – Kamal

答えて

0

私はちょうどチェックを行います。シンプルで速く、伝播を変更するコードを追加する必要はありません。

import flash.events.MouseEvent; 

stage.addEventListener(MouseEvent.CLICK, onClick, false, 0, true); 

function onClick(e:MouseEvent):void 
{ 
    if(e.target == stage) 
    { 
     trace("click click"); 
    } 
} 
2

は、ステージにイベントリスナーを追加します。内部ムービークリップのハンドラでevent.stopPropagation関数を使用すると、バブルイベントがコンテナに入るのを防ぐことができます。

関連する問題