Menü soll bei mouse-over nach oben oder unten rollen

Hallo,

ich möchte gerne ein besonderes Menü erstellen, dass vertikal verläuft. Da es länger ist als meine Bühne, möchte ich, dass es bei mouse-over im oberen bereich des menüs nach unten rollt und so die nicht sehbaren Menüpunkte oberhalb der Bühne zeigt.
Bewegt man die Maus dagegen über den unteren Bereich des Menüs, so rollt das Menü nach oben und die unten nicht sichrbaren Menüpunkte werden gezeigt.

Nun habe ich schon ewig mit unsichtbaren Schaltflächen rumprobiert aber ich komme zu keinem passenden Ergebnis. Kennt jemand vielleicht ein Tutorial oder kann mir erklären wie es das umsetzte?

lg
mona
 
Hi,

im Anhang findest Du ein kleines Beispiel. Ich habe den ersten Button rot, und den letzten Blau eingefärbt, damit Du erkennen kannst, wann das Menü stoppt.

Gruß
.
 

Anhänge

Hi,

mit welcher Flashversion arbeitest Du denn (die Datei ist für MX2004 gespeichert)?

Um derartige Missverständnisse zu umgehen, gebt bitte immer schon im Eingangsposting an, über welche Version Ihr verfügt - grade bei älteren Versionen bis v6. ist die Chance groß, dass die potentiellen Helfer nicht mehr für Euch lesbare Dateien erzeugen können.

Gruß
.
 
Hi,

dann muss sich leider jemand mit Flash 7 einfinden, der Dir die Quelldatei ins 6er-Format umwandelt - mit Flash 8 kann ich leider minimal für Flash 7 speichern.

Ich kann Dir aber die Grundstruktur und den Code erklären:

Auf der Hauptzeitleiste befindet sich ein MovieClip (Instanzname "menu"), der (von oben nach unten) folgendes enthält:
  • 1 leere Ebene für den untenstehenden Code

  • 1 Ebene mit dem Rahmen (nur zur Deko)

  • 1 Maskenebene mit mit einem rechteckigen MovieClip (Instanzname "mask"), der als Maske für die darunterliegende Ebene dient:

  • 1 Ebene mit einem MovieClip (Instanzname "buttons"), der folgendes enthält:

    • auf einer Ebene untereinander 16 Instanzen des MovieClips "menubuttons", der einen einzelnen Button mit rollOver-Effekt darstellt

Der Code in der Ebene "code" des MC "menu" sieht so aus:
Code:
var spd = 0;

var max = 3; // maximale Geschwindigkeit

this.onEnterFrame = function() {
	var dy = mask._height / 2 - mask._ymouse;
	spd += (dy - spd) / 100;
	if (!mask.hitTest(_root._xmouse, _root._ymouse, false)) {
		spd = 0;
		return;
	}
	if (Math.abs(spd) > max) spd = max * (spd / Math.abs(spd));
	buttons._y += spd;
	if (buttons._y > 0) {
		buttons._y = 0;
		spd = 0;
	}
	if (buttons._y < -(buttons._height - mask._height)) {
		buttons._y = -(buttons._height - mask._height);
		spd = 0;
	}
}

Gruß
.
 
ok, ich werd mich gleich ranmachen. vielen dank.

hab noch eine frage zu: Auf der Hauptzeitleiste befindet sich ein MovieClip (Instanzname "menu"), der (von oben nach unten) folgendes enthält

dieses movieclip-symbol befindet sich das auf einer Ebene über den von dir genannten, oder erstelle ich diese ebenen im symbol-bearbeitungsmodus?

lg
mona
 
Hi,

letzeres. ;)

Wenn ich sage, "der MC xy enthält folgendes: ", dann beziehen sich die nachfolgenden Inhalte auf die Zeitleiste dieses MC.

Gruß
.
 
Hi,

dann muss sich leider jemand mit Flash 7 einfinden, der Dir die Quelldatei ins 6er-Format umwandelt - mit Flash 8 kann ich leider minimal für Flash 7 speichern.

Ich kann Dir aber die Grundstruktur und den Code erklären:

Auf der Hauptzeitleiste befindet sich ein MovieClip (Instanzname "menu"), der (von oben nach unten) folgendes enthält:
  • 1 leere Ebene für den untenstehenden Code

  • 1 Ebene mit dem Rahmen (nur zur Deko)

  • 1 Maskenebene mit mit einem rechteckigen MovieClip (Instanzname "mask"), der als Maske für die darunterliegende Ebene dient:

  • 1 Ebene mit einem MovieClip (Instanzname "buttons"), der folgendes enthält:

    • auf einer Ebene untereinander 16 Instanzen des MovieClips "menubuttons", der einen einzelnen Button mit rollOver-Effekt darstellt

.

garnicht so einfach. könntest du mir noch dazu schreiben welcher movieclip nun was bezweckt? Mir ist z.B nicht ganz klar, was der movieclip aif der hauptebene "menu" bezwecken soll.
Und auch der MovieClip (Instanzname "buttons"), besteht dieser nun aus meinen späteren Buttons oder was für ein movieclip soll ich da aufziehen?
Meine Menubuttons müssten doch eigentlich Schaltflächen sein und keine movieclips, oder? Warum stellten die menubuttons einen einzelnen Button da?

Entschuldige für die vielen Fragen, aber sonst verstehe ich garnicht was ich da tue.

lg
mona
 
Hi,

Mir ist z.B nicht ganz klar, was der movieclip aif der hauptebene "menu" bezwecken soll.
Welchen MC meinst Du? Es gibt keine "Haupt"-Ebene namens "menu", sondern einen MovieClips dieses Namens. Dieser enthält das komplette Menü.

Und auch der MovieClip (Instanzname "buttons"), besteht dieser nun aus meinen späteren Buttons oder was für ein movieclip soll ich da aufziehen?
Der MC "buttons" enthält alle Deine Buttons.

Meine Menubuttons müssten doch eigentlich Schaltflächen sein und keine movieclips, oder?
Nein, mit Schaltflächenobjekten zu arbeiten ist aus verschiedenen Gründen ungünstig und überholt. Mit dem MovieClip-Objekt kannst Du alles das (und noch mehr) erreichen, was mit Schaltflächen möglich war.

Warum stellten die menubuttons einen einzelnen Button da?
Tun sie nicht; ich packe nur alle Buttons in einen eigenen MC, damit ich diesen (und damit alle Buttons gleichzeitig) verschieben kann - ansonsten müsste ich alle Buttons einzeln bewegen.

Ich denke, es wird am besten sein, Du findest jemanden mit Flash 7 (MX2004), der Dir die Quelldatei ins 6er-Format überführt.

Gruß
.
 
Zurück