Как заставить мышь над событием клипа под ним все еще работать? - PullRequest
0 голосов
/ 19 августа 2011

Привет надеялся, что кто-нибудь сможет помочь мне с этим событием MOUSE_OVER

Я запускаю всплывающую подсказку через кнопку MOUSE_OVER на кнопке и обнаруживаю, что она срабатывает, если я удерживаю указатель мыши над подсказкой. Подсказка и кнопка - MovieClips

Как я могу предотвратить это?

Вот фрагмент моего кода:

for(var i:Number=0; i < MapContainer.numChildren; i++) {
    var Country:MovieClip = MapContainer.getChildAt(i) as MovieClip;
    if(Country){ // make sure its a movieclip
        trace('Found movieclip');
        addInfoBubble(Country);
        Country.addEventListener(MouseEvent.MOUSE_OVER, countryMouseOver);
        Country.addEventListener(MouseEvent.MOUSE_OUT, countryMouseOut);
    } 

}

function showInfoBubble(Country:MovieClip){

    var bubble = getChildByName(Country.name+"Info");
    trace("bubble name " + bubble);
    bubble.visible = true;
    TweenLite.to(bubble, .5, {alpha:1});

}

function hideInfoBubble(Country:MovieClip){
    var bubble = getChildByName(Country.name+"Info");
    bubble.alpha = 0;
    bubble.visible = false;
    //removeChild(CountryInfo);
    //CountryInfo = null;
}

function countryMouseOver(e:Event):void{
    trace('countryMouseOver '+e.target);
    var countryMc = e.target;
    var localPos:Point = new Point(countryMc.x,countryMc.y);
    var globalPos:Point = countryMc.localToGlobal(localPos);
    trace('local pos: '+localPos+ ' global pos:'+globalPos);

    TweenLite.to(countryMc, 1, {tint:mouseOverColor});

    showInfoBubble(countryMc);
}

function countryMouseOut(e:Event):void{
    trace('countryMouseOut '+e.target);
    var countryMc = e.target;
    var localPos:Point = new Point(countryMc.x,countryMc.y);
    var globalPos:Point = countryMc.localToGlobal(localPos);
    trace('local pos: '+localPos+ ' global pos:'+globalPos);

    TweenLite.to(countryMc, 1, {tint:mouseOutColor});
    hideInfoBubble(countryMc);
}

Спасибо

1 Ответ

1 голос
/ 19 августа 2011

Где бы вы ни создали bubble MovieClip (похоже, он в addInfoBubble), установите bubble.mouseEnabled = false;.

Кроме того, как вы можете видеть из подсветки синтаксиса StackOverflow, по соглашению переменные обычно начинаются с более низкой-case имя, классы с заглавными буквами (в качестве параметров страны следует указывать страну).

...