2012-04-10 7 views
0

私は現在、ボタンを押すと、詳細情報を表示するようにアプリケーションを設計しています。私が直面している大きな問題は、ボタンを押してもう一度拡大するように収縮している間に、座標がクリックされた時点から保存され、元の状態に戻らないということです。アクションが実行されている間、マウスイベント(クリック)を無効にする

TweenMaxがボタンを縮小している間、または配列から座標を抽出することで、ボタン上でマウスをクリックするのを無効にする方法が必要です。

私のメニュークラスからメインクラスに座標の配列を取得できましたが、問題の発生を防ぐための最良の方法はありません。

-

あなたがにイベントをしたいときには、もはやイベントを発生できるようにしたいとき item.removeEventListener(MouseEvent.CLICK, boxExCo);を使用し、その後、ちょうど

item.addEventListener(MouseEvent.CLICK, boxExCo);を使用して、それを再度追加する必要があります

expand = false; 
(run menu function) 
item.addEventListener(MouseEvent.CLICK, boxExCo); 

private function boxExCo(e:MouseEvent):void 
{ 
    if (!expand) 
    { 
     selectedBox = e.target as Box; 
     boxX = selectedBox.x; 
     boxY = selectedBox.y; 
     expand = true; 
     TweenMax.to.... (expand) 
    } 
    else 
    { 
     expand = false; 
     TweenMax.to... (contract to coordinates) 
    } 
} 

答えて

2

再び発砲することができます。

tween maxを開始したら、イベントを削除します。

終了したら、イベントを再度追加します。

+0

私はこれを試しましたが、動作させることができませんでした。最初にTweenMaxでonComplete属性を使用して試してみましたが、それをトゥイーンの両側に追加しましたが効果はありませんでした。私の努力に失敗してそれを実装する方法はありますか? –

+0

トゥイーンを開始する直前にイベントを削除する必要があります。次に、トゥイーンに 'Event.COMPELTE'を追加し、マウスイベントをそのイベントリスナ関数に追加する必要があります。 –

+0

ありがとうございます!これはすばらしいことです。 –

関連する問題