Anfängerfrage Menüstruktur

Bravestar2004

Grünschnabel
Hallo Experten,

wie oben bereits in der Einleitung beschrieben, bin ich Anfänger in Sachen Flash.
(ich nutze FlashMX2004) und wollte ein Menü erstellen.
Ein normales Menü ist soweit kein Problem, aber ich wollte es besonders gut aussehen lassen, und da stosse ich schon an die Grenzen.
Zum Verständnis kurz dargestellt.
Hauptmenü 1 (Button)
Hauptmenü 2 (Button)
Hauptmenü 3 (Button)

Klicke ich nun auf Hauptmenü 1 sollte sich das Menü durch ein Slide Bewegung in etwa so öffnen. Die Hauptmenüpunkte 2 und 3 sollten sich dabei nach unten verschieben, wobei die Untermenüs sich dann unter Hauptmenü 1 einblenden.

Hauptmenü 1
->Untermenü a
->Untermenü b
Hauptmenü 2
Hauptmenü 3

Ich habe schon sämtliche Varianten runtergeladen, aber die überdecken dann immer die Hauptmenüs oder sind Horizontal angeordnet.
Gibt es da irgendwie ein Download, oder ein Tut, oder kann sich das jemand ebend so aus dem Ärmel schütteln?
Über Feedback wäre ich sehr erfreut und bedanke mich schon im Voraus für die Zeit und Mühe.
 
Gibt es da irgendwie ein Download [..]
Möglich - hast Du es mal auf http://www.flashstar.de oder http://www.flashkit.com versucht? Such auch hier im Forum mal nach "Menü"- oder "Dropdown". Dort findest Du z.B. diesen Thread (klick), in dem ich etwas ähnliches gepostet habe (zweiter Beitrag).

oder ein Tut [..]
mir ist im Moment keines bekannt.

oder kann sich das jemand ebend so aus dem Ärmel schütteln?
Sicher nicht, denn was Du Dir vorstellst ist nicht ganz einfach. In dem von mir verlinkten Thread habe ich mir die Mühe einmal gemacht - vielleicht kannst Du ja mit dem Ergebnis etwas anfangen.

Gruß
.
 
Hallo,
ersteinmal vielen Dank für die schnelle Antwort.
Aber leider kann ich mit dem Zip File nichts anfangen, da dieses ja nichts beinhaltet.
Wie wäre es denn, die Menüsteuerung mit Tweaning zu realisieren?
Müsste doch auch gehen, oder gibt es da große defiziete?
Z.B. Ladegeschwindigkeit der SWF?
 
Nanu?

Dieses Archiv ( http://www.tutorials.de/attachment.php?attachmentid=17686 ) beinhaltet genau drei Dateien: dynmeny2.fla, dynmenu2.swf und dynmenü2.xml. Wenn Du es mit WinZip öffnest, sollte es funktionieren (oder welchen Packer verwendest Du?).

Mit Tweening würde ich bei diesem Vorhaben auf keinen Fall arbeiten, denn das führt aufrgund der Vielzahl an möglichen Kombinationen in der Regel zu endlos komplexen Animationen, die sich zudem auch noch sehr schlecht mit AS steuern lassen.

Ich hänge hier noch einmal ein neues Archiv (diesmal für Flash MX) an.

Gruß
.
 

Anhänge

  • dynmenu2_mx.zip
    10,9 KB · Aufrufe: 40
Hallo Datic,

nochmals vielen Dank für den schnellen Support.
Das ist natürlich starker Tobak für einen Newbie.
Das Menü trifft genau ins Schwarze, nur würde mich dann noch was interessieren,
wo kann ich auf die Untermenüs Links einfügen?
Und könnte ich die Menüpunkte mit einem RollOver Effekt ausrüsten?
Müsste ich das alles codisch erledigen, oder könnte ich das auch ganz normal über die Flash Oberfläche (also ohne Code) konfigurieren?
 
Hi,

die rollOver-Animationen der Buttons kannst Du in den entsprechenden MovieClips "mainbut" und "subbut" erstellen. Der MC "subbut" verwendet z.B. eine kleine Zeitleiste mit drei Zuständen (hell, grau und dunkel). Dort kannst Du problemlos was auch immer einbauen (z.B. eine längere Animation).

Die Aktionen der Links kannst Du in der XML-Datei im target-Attribut angeben. Je nachdem, ob Du html-Dateien öffnen willst, oder SWF-Dateien einladen, musst Du natürlich eine andere Aktion programmieren. Wird ein Button geklickt, so wird auf der Hauptzeitleiste eine Funktion "dispatch" aufgerufen, der Target- und Headline-Attribut des Buttons übergeben wird. Um nun z.B. html-Seiten zu verlinken, erstelle Dir auf der Hauptzeitleiste folgende Funktion:
PHP:
function dispatch(t, h) {
    getURL(h, "_blank");
}

Gruß
.
 
Hallo Datic,

habe mich nun mal mit dem Code ein wenig beschäftigt.
Ich komme aber nicht dahinter, wo genau ich die Function getURL einbauen soll.
Also in der XML Datei kann ich ja auch einiges ändern, aber in der Bibliothek wird mir kein on Release oder getURL oder ähnliches angeboten. Da onClick Ereignis führt leider auch nicht zum gewünschten Erfolg.
Auf die Button selbst kann ich die function auch nicht legen.
Welche Hauptzeitleiste meinst Du genau?
Entschuldige wenn ich mich vielleicht ein wenig doof anstelle, aber für einen Newbie ist die Datei ganz schön kompliziert! ;-)
 
Hi,

die Hauptzeitleiste ist die oberste Zeitleiste des Films. Hmm, wie soll ichs erklären? Wenn Du die Datei frisch öffnest, siehst Du ja eine Zeitleiste: Das ist die Hauptzeitleiste. ;)

Erstelle dort eine neue Ebene (in der untersten Ebene liegt ja das Menü), öffne den AS-Editor (F11) und füge die Funktion dispatch() dort ein, wie ich es geschrieben habe. In der XML-Datei setzt Du dann nur die Pfade zu den Dateien in die target-Attribute, z.B. so:
Code:
<sub title="Menuepunkt" headline="WasAuchImmer" target="seite.html" />

Wenn Du im Menü einen Punkt anwählst, wird diese Funktion dispatch() aufgerufen und bekommt den Inhalt der Attribute headline und target übergeben (headline kannst Du z.B. verwenden, um eine Überschrift anzuzeigen - kannst Du aber auch weglassen). Mit getURL kannst Du dann die Seite, die im target-Attribut steht, aufrufen:
PHP:
function dispatch(t, h) {
    getURL(t, "_blank");
}
Statt _blank kannst Du auch _self oder einen Framenamen angeben (wie bei html-Links)

Gruß

P.S.: In meinem letzten Posting, habe ich versehentlich "h" in der getURL-Aktion verwendet - muss natürlich "t" sein. ;) - in "h" steht die headline.
.
 
Hallo Datic,

ist ja doch nicht so einfach wie gedacht.
Okay, ich habe in der Hauptfilmleiste eine neue Ebene erstellt.
Dort habe ich dann die function reingelegt (copy and paste)
In der XML habe ich dann unter Target eine URL eingegeben, aber es tut sich irgendwie keine Seite auf.
Ich habe aber noch einen extra Code auf die subbut gelegt, kann es daran liegen, dass es nicht funktioniert ? Ich brauche dieses Script aber für die Animation der Buttons!
Code:
 this.onRollOver = function() {
gotoAndPlay(2);
};
this.onRollOut = function() {
gotoAndPlay(10);
};
this.onReleaseOutside = function() {
gotoAndPlay(2);
};
 
Zuletzt bearbeitet:
Hi,

solange Da das hier:
Code:
this.onRelease = function() {
	_parent._parent.subPressed(this);
}
im subbut nicht gelöscht hast, sollte es eigentlich funktionieren.

Vorschlag: Poste Deine Datei (fla und xml) und ich korrigier eventuelle Fehler.

Gruß
.
 

Neue Beiträge

Zurück