Submenü bei rollout unsichtbar

selle1

Erfahrenes Mitglied
Hallo ,

ich habe ein Submenü, welches in einem MC liegt. Nun will ich, dass bei Verlassen der Submenüfläche, dieses unsichtbar wird. Habe es mit

mc.onrollout=function() {
mc._visible=false;
}

versucht klappt aber nicht.

Jemand da der mal nachscheuen könnte?
 
Zuletzt bearbeitet:
Hi,

Du kannst die onRollOut-Aktion nicht einfach auf den jeweiligen Hauptmenübutton legen (z.B. mc_komp.onRollOut), da das Ereignis auch dann feuert, wenn Du über das dazugehörige Submenü fährst.

Ich würde hier so vorgehen:

Erstelle auf einer Ebene unter der Ebene "buttons" eine rechteckige Fläche, die Du in einen MovieClip umwandelst (den Clip kannst Du auf _alpha = 0 setzen, wenn er nicht sichtbar sein soll). Nun legst Du auf diesen MC ein onRollOver-Ereignis, welches alle Submenüs ausblendet:
Code:
mc_hintergrund.onRollOver = function() {
    kompetenz._visible = true;
    produkte._visible = false;
    referenzen._visible = false;
    kontakt._visible=false;
    news._visible=false;
}

Jetzt musst Du dafür sorgen, dass die einzelnen Hauptmenüpunkte und die dazugehörigen Submenüs sich überlappen, da Du bei einer Mausbewegung vom Hauptmenü auf das Submenü ansonsten den Hintergrund "berühren" würdest. Erstelle dazu in den Haupt-Buttons (z.B. "mc_komp") und in den Submenüs (z.B. "kompetenz") ebenfalls unsichtbare (_alpha = 0) Flächen, auf die Du "blinde" Mausereignisse (z.B. ein onPress, das nichts macht) legst. Sorge dafür, dass die Fläche des Hauptmenübuttons ein wenig in das dazugehörige Submenü hineinragt.

Hast Du alles richtig gemacht, so werden die Submenüs genau dann geschlossen, wenn Du Dich mit der Maus weder über einem Hauptmenüpunkt, noch über einem Submenü befindest.

Gruß
.
 
Hallo Tobias,

danke für die schnelle Antwort. Leider kann ich nicht die einzelnen Submenübuttons überlappen lassen, da ich auf ihnen jeweils ein Alphatween eingesetzt habe. Wenn die Buttons sich überlappen funktioniert das Tween schlecht bzw. gar nicht.
Wenn ich nun aber Deine Idee aufnehme und jeweils "um die Menüs" herum eine Fläche zeichne (Alpha=0) und dieser die rollover-Funktion gebe, müsste es doch auch klappen, oder? Ist halt nicht unbedingt professionell aber könnte das funktionieren?
 
Hi,

Du musst die einzelnen Buttons nicht überlappen lassen - es genügt, wenn Du in das Submenü (z.B. "Symbol 4") unter die Buttons eine durchsichtige Fläche mit Mausereignis legst.

Gruß
.
 
Also,

ich dreh noch durch. Habe einen unsichtbaren MC unter die Buttons gelegt und auf den MC folgenden Code:

test.onRollOver = function() {
this._visible = true;

test.onRollOut = function() {
this._visible = false;
}

Bekomme eine Fehlermeldung "must appear in clipevent":confused:
Habe das mit dem "blinden" onPress nicht ganz verstanden.
 
Hi,

probiers so:
Code:
on(rollOver) {};
Ergeignisse der Form "onRollOver" können nur auf Zeitleisten notiert werden - auf Objektinstanzen musst Du mit "on(Ereignis)" bzw. "onClipEvent(Ereignis)" arbeiten.

Der obige Code ist ein "blindes" Ereignis: Die Ereignisfunktion macht nichts weiter, sondern verdeckt lediglich Mausereignisse auf darunterliegenden Objekten.

Gruß
.
 
Sorry Tobias,

kriegs einfach nicht hin. Habe es zwar so gemacht, wie Du gesagt hast. Das Submenü verschwindet aber sobald man nicht schnell genug ein Button des Submenüs auswählt oder drüberfährt. Ich habe das Prinzip schon verstanden (deswegen wahrscheinlich Dein Vorschlag mit den Überlappungen der Subbuttons; auf denen liegen ja dummerweise meine Alphatweens).

Könntest Du mir evtl. ein Beispiel in mein Navi einbauen, damit ich das nachbauen kann?
Wäre Dir sehr dankbar dafür. Heul...
 
Hi,

ich werde sobald ich Zeit habe schauen, ob ich Dir ein Beispiel fertig machen kann. Ich kann allerdings nicht garantieren, dass ich es vor morgen Mittag hinbekomme. ;)

Gruß
.
 
Hi,

im Anhang findest Du eine Modifikation, bei der ich meinen Vorschlag "quick & dirty" umgesetzt habe.

Gruß
.
 

Anhänge

  • navi_mit_tracer.zip
    28,2 KB · Aufrufe: 22
Zurück