Rotierendes Menü

LH_Cygnus

Grünschnabel
Tach zusammen,

also ich hab ein ziemliches Problem, und zwar:

Ich habe ein Menü mit fünf Buttons (MC's) untereinander gebaut. Der Button der gerade angezeigten Rubrik steht dabei immer in der Mitte der fünf Buttons. Wenn man jetzt auf einen anderen Button klickt, dreht sich das ganze Menü soweit, dass wieder der geklickte Button in der Mitte steht. Das heisst die Buttons rutschen jeweils eine Etage nach unten und die von unten reihen sich oben neu ein... Die Rotation dareinzubringen ist ja ganz leicht, aber jetzt stösst man auf ein Problem: Logischerweise laufen die Buttons die unten rausgehen und sich oben wieder einreihen teilweise vor den übrigen Menpüpunkten her, je nachdem wie man die Ebenen angeordnet hat. Ich hätte aber gerne das die Buttons die wieder nach oben laufen das hinter den anderen tun. Jetzt habe ich jeden Button (MC) in ein Array eingelesen, das quasi mit "rotiert" wird, das heisst die Einträge im Array sind mit jeder Rotation des Menüs auch wieder in der richtigen Reihenfolge. Jetzt dachte ich, ich könnte einfach mit swapDepths die Tiefen des obersten und untersten Buttons vertauschen, so dass sich die kleinste Tiefe automatisch immer auf den untersten Button übertragt. Das funktioniert aber nicht, weil dann mein Tweening abbricht. Sogar wenn ich das swappen auf nem extra keyframe mache, und dann erst die nächste Drehung starte.... Wahrscheinlich n bisschen umständlich geschrieben, aber ich hoffe ihr versteht was ich meine... Hat jemand dazu ne Idee

Danke im vorraus...
 
Hi,

ehrlich gesagt schwirren mir bei Deiner Beschreibung zwar einige Szenarien im Kopf herum, genau habe ich Dein Problem aber wohl nicht erfasst.

Kannst Du dieSourcedatei (fla) mal posten?

Gruß

.
 
Hi,

ok, alles klar! Mit swapDepths solltest Du eigentlich zum Ziel kommen. Gib dem Clip, der nach oben wandern soll, einfach eine niedrigere Stufe als den anderen:
PHP:
this.swapDepths(0);

Gruß

.
 
Das Problem dabei ist, dass ich das nur per AS machen kann und bei swapDepths hält das Tweening an. Wenn ich mit swapDepths wie du vorgeschlagen ne neue Tiefe zuweise (z.B. "0"), kopiert Flash das ganze Objekt, wenn's auf der 0-ten Ebene noch nix vorfindet, dann hätte ich zwei Buttons von jedem... Kann ich denn die swapDepth-Funktion so benutzen wie ich das will: mc1.swapDepths(mc2); ? Also vertauscht das die beiden MC-Tiefen ?
 
Zuletzt bearbeitet:
Hi,

nun, Du kannst swapDepths sowohl eine Stufe als auch einen Zielclip mitgeben... wo Du recht hast, hast Du allerdings recht:
aus der Flash-Referenz:
Wenn sich ein Movieclip beim Aufruf dieser Methode in einem Tweening-Vorgang befindet, wird der Tweening-Vorgang gestoppt
Ist mir bisher nicht aufgefallen, da ich diese Methode nur im Zusammenhang mit AS-Animationen eingesetzt habe. Hast Du schon mal versucht, direkt nach dem SwapDepths ein play() einzufügen?

Oder vielleicht kannst Du die Datei einmal hier als Anhang (gepackt oder abgespeckt) einfügen - ich denke schon, dass man das wie gewünscht hinbekommt, aber jetzt von Grund auf was ähnliches zu basteln habe ich keine Lust. ;)

Gruß

.
 
Kannst mir ja mal per PN deine eMail schicken, dann sende ich dir ne einfache Source-Version mit nur 2 Buttons... sollte zum testen aber reichen...

Schonmal danke im vorraus...
 
Zurück