PDA

Volledige versie bekijken : hitbutton overlappen elkaar


idus
%Europe/Berlin %004 %2009, 01:06
Ik heb navigatie met 2 dropmenu waarbij de hit(area)button elkaar overlappen. Daardoor werkt 1 dropmenu niet goed. Wat voor actionscript moet ik gebruiken om dit probleem op te lossen?

gr, Idus

-ADV-
%Europe/Berlin %015 %2009, 01:22
Heb je misschien iets meer info, zoals voorbeeld of code werk?

idus
%Europe/Berlin %469 %2009, 12:15
O,ja ... hier is 't:

//menu 1
menu1_mc.subMenu_1_1._visible = false;
menu1_mc.subMenu_1_2._visible = false;
menu1_mc.subMenu_1_3._visible = false;

menu1_mc.menu1_btn.onRollOver = function() {
menu1_mc.play();
menu1_mc.subMenu_1_1._visible = true;
menu1_mc.subMenu_1_2._visible = true;
menu1_mc.subMenu_1_3._visible = true;
};
menu1_mc.subMenu_1_1.onPress = function() {
gotoAndStop("page1");
menu1_mc.play();
menu1_mc.subMenu_1_1._visible = false;
menu1_mc.subMenu_1_2._visible = false;
menu1_mc.subMenu_1_3._visible = false;
};
menu1_mc.subMenu_1_2.onPress = function() {
gotoAndStop("page2");
menu1_mc.play();
menu1_mc.subMenu_1_1._visible = false;
menu1_mc.subMenu_1_2._visible = false;
menu1_mc.subMenu_1_3._visible = false;
};
menu1_mc.subMenu_1_3.onPress = function() {
gotoAndStop("page3");
menu1_mc.play();
menu1_mc.subMenu_1_1._visible = false;
menu1_mc.subMenu_1_2._visible = false;
menu1_mc.subMenu_1_3._visible = false;
};
menu1_mc.hitOut_1.onRollOver = function() {
menu1_mc.gotoAndStop(1);
menu1_mc.subMenu_1_1._visible = false;
menu1_mc.subMenu_1_2._visible = false;
menu1_mc.subMenu_1_3._visible = false;
};

//menu 2
menu2_mc.subMenu_2_1._visible = false;
menu2_mc.subMenu_2_2._visible = false;
menu2_mc.subMenu_2_3._visible = false;
menu2_mc.subMenu_2_4._visible = false;

menu2_mc.menu2_btn.onRollOver = function() {
menu2_mc.play();
menu2_mc.subMenu_2_1._visible = true;
menu2_mc.subMenu_2_2._visible = true;
menu2_mc.subMenu_2_3._visible = true;
menu2_mc.subMenu_2_4._visible = true;
};

menu2_mc.subMenu_2_1.onPress = function() {
gotoAndStop("page4");
menu2_mc.play();
menu2_mc.subMenu_2_1._visible = false;
menu2_mc.subMenu_2_2._visible = false;
menu2_mc.subMenu_2_3._visible = false;
menu2_mc.subMenu_2_4._visible = false;
};
menu2_mc.subMenu_2_2.onPress = function() {
gotoAndStop("page5");
menu2_mc.play();
menu2_mc.subMenu_2_1._visible = false;
menu2_mc.subMenu_2_2._visible = false;
menu2_mc.subMenu_2_3._visible = false;
menu2_mc.subMenu_2_4._visible = false;

};
menu2_mc.subMenu_2_3.onPress = function() {
gotoAndStop("page6");
menu2_mc.play();
menu2_mc.subMenu_2_1._visible = false;
menu2_mc.subMenu_2_2._visible = false;
menu2_mc.subMenu_2_3._visible = false;
menu2_mc.subMenu_2_4._visible = false;
};
menu2_mc.subMenu_2_4.onPress = function() {
gotoAndStop("page7");
menu2_mc.play();
menu2_mc.subMenu_2_1._visible = false;
menu2_mc.subMenu_2_2._visible = false;
menu2_mc.subMenu_2_3._visible = false;
menu2_mc.subMenu_2_4._visible = false;
};
menu2_mc.hitOut_2.onRollOver = function() {
menu2_mc.gotoAndStop(1);
menu2_mc.subMenu_2_1._visible = false;
menu2_mc.subMenu_2_2._visible = false;
menu2_mc.subMenu_2_3._visible = false;
menu2_mc.subMenu_2_4._visible = false;
};

Kan misschien korter gecodeerd worden, maar op die level zie ik nog lang niet! ;)

-ADV-
%Europe/Berlin %721 %2009, 18:18
Is het mogelijk om even je *.fla bij te voegen, dan kan ik even beter kijken..

idus
%Europe/Berlin %902 %2009, 22:39
Ok, bij deze de fla-bestand. 'k hoop dat het duidelijk wordt en alvast bedankt dat je er naar wil kijken

-ADV-
%Europe/Berlin %967 %2009, 00:13
Ja..

ik heb er naar gekeken, en het lijkt erop dat je menu1 teveel overlapt word
door menu2 en daardoor word menu1 nog steeds gezien als een rollover.

Een oplossing hiervoor is de 2 menu's een klein stukje uitelkaar te schuiven,
zodat ze elkaar niet overlappen bij een rollover.

Wil je dat niet dan zou ikzelf even kijken naar een ander stukje AS.

Ik heb ook ooit een menu gemaakt, in vergelijking wat jij maakte..
Ik heb toen ongeveer zoiets als dit gedaan :

this.onEnterFrame = function(){
if(RollOut()){
this.prevFrame(); //hier kan je je eigen gemaakte buttons uitschuiven op de timeline..
}else{
this.nextFrame();// en hier schuiven ze weer terug als je muis een rollout heeft..
}
}

function RollOut():Boolean{
if(this.hitTest(_root._xmouse, _root._ymouse, true)){
return false;
}else{
return true;
}
}
stop();

Als je er niet uitkomt, wil ik wel een voorbeeldje maken..

Succes..

-ADV-

idus
%Europe/Berlin %035 %2009, 01:51
Helaas moet die twee menu's zo dicht bij elkaar staan....
Dus als je een ander AS kent....? :)

-ADV-
%Europe/Berlin %040 %2009, 01:58
Dus als je een ander AS kent....?
Ik gaf je een al een ander voorbeeld..!

this.onEnterFrame = function(){
if(RollOut()){
this.prevFrame(); //hier kan je je eigen gemaakte buttons uitschuiven op de timeline..
}else{
this.nextFrame();// en hier schuiven ze weer terug als je muis een rollout heeft..
}
}

function RollOut():Boolean{
if(this.hitTest(_root._xmouse, _root._ymouse, true)){
return false;
}else{
return true;
}
}
stop();

Werkt in principe hetzelfde, maar dan wat korter.
Als je je eigen AS wilt behouden, dan zou ik ervoor zorgen
dat het ene menu de andere absoluut niet overlapt, ook niet als er een menu uitklapt..