0

画面の別々の領域がホバー時に表示/非表示になり、クリックすると他の場所に移動するステータスを引き起こすアニメーションを機能させるのに苦労していますが、一瞬クリックするとそのラベルに移動してからに戻ります始める。助言がありますか?

//mouse overs (i've only left 1 instance of each event listener here)
comic.addEventListener(MouseEvent.MOUSE_OVER,BubbleHover);
//mouse outs
comic.addEventListener(MouseEvent.MOUSE_OUT,BubbleOut);
//mouse down
comic.addEventListener(MouseEvent.CLICK,BubbleClick);


//
// Take the playhead to where the user hovers. 
//
function BubbleHover(evtObj:MouseEvent) {
    var LabelName:String = evtObj.target.name + "Bubble";
    trace(evtObj.target.name +" bubble appeared"); //state which bubble appears
    //go to the section clicked on...
    gotoAndStop(LabelName);

}
//
// Return to the beginning bubble
//
function BubbleOut(evtObj:Event):void{

    gotoAndStop("lookBubble");
}

//
// Go to the Label Page 
//
function BubbleClick(evtObj:Event){

    var MovieClipPage = evtObj.target.name +"_page";
    if (mouseEnabled) {  
        mouseEnabled=false;
        trace(mouseEnabled); // returns false but then returns to "lookBubble"
    }
    gotoAndStop(MovieClipPage);
    mouseEnabled(true);


}

私が理解していることから、再生ヘッドが BubbleClick ラベルに移動すると、MouseEvent.MOUSE_OUTが発生しています。これを回避する方法はありますか?

4

1 に答える 1

0

はい、残念ながら、actionscript の数少ない癖の 1 つを見つけたようです。問題は、ムービー クリップにマウス アウト イベントがあり、マウスがそのオブジェクト上にある場合です。mouseEnabled と mouseChildren を false に設定しても、out イベントは引き続きトリガーされます。

これを処理する方法は、bool (isReallyEnabled) を使用して状態を手動でチェックするか、イベント リスナーを削除することです。

于 2012-08-18T07:27:00.900 に答える