onRollOver vs. onRollOut (auf MovieClip/Bild warten)

umek

Mitglied
Guten Morgen,
ich hätte da mal eine frage. Ich habe eine Navigation mit 8 Schaltflächen (MC). Wenn ich über die Schaltflächen fahre (onRollOver)
wird ein anderer MovieClip <mcSlider> von Bild 2 gestartet, läuft bis zum Bild 15 welcher dann durch stop(); hält. Das gleiche dann mit onRollOut,
nur das es dann mit Bild 16 weitergeht bis zum Bild 30. Also der MovieClip wird mit onRollOver von links bis zur Mitte gesteuert und
mit onRollOut von der Mitte nach rechts.

Jetzt zum eigentlich Problem. Da meine Buttons sehr klein sind habe ich festgestellt, das es passieren kann das mein MovieClip <mcSlider> beim
onRollOut noch gar nicht Bild 15 erreicht hat. Das sieht dann so aus das mein <mcSlider> von 1 bis z.B. 5 läuft und wenn meine Maus sich bereits wieder
außerhalb der Schaltfläche befindet, gibt es einen Aussetzer oder Ruck, da bei onRollOut der MovieClip mit Bild 16 gestartet wird. Also Bild 6 bis 16
wurden ausgelassen. Ist es möglich, meinen Schaltflächen irgendwie klar zu machen das wenn die Aktion onRollOut stattfindet und das Bild 15 von
<mcSlider> noch nicht erreicht ist, zunächst zu warten bis es der Fall ist. Es dann soll es von Bild 16 bis 30 weitergehen (auch wenn onRollOut
schon stattgefunden hat)?

Ich freue mich über jeden Ansatz, da ich mit meinen derzeitigen Flashkenntnissen nicht weiß wie ich das anstellen kann.


vg
 
Ich freue mich über jeden Ansatz, da ich mit meinen derzeitigen Flashkenntnissen nicht weiß wie ich das anstellen kann.
Hier ist zumindest ein Ansatz.
Ich prüfe in welchem Frame sich der <mcSlider> befindet, und je nachdem wo er ist,
sag ich ihm, dass er spielen soll, ansonsten setze ich die Variabel "out" auf true,
und sofern sie auf true gesetzt ist, spielt er automatisch weiter, sobald er seine RollOut-Animation vollendet hat.
Dieses komische blinkende Teil in der fla soll nur verdeutlichen wo der Mc gerade ist und was die Variabel macht.
 

Anhänge

Hi,

da du von einem Button spricht, denke ich mir mal, dass Du so eine Art mousOver = aufhellen - mousOut = abdunkeln- Effekt hast.

Wenn das der Fall ist, und die Animationen umgekehrt propotional verlaufen, könntest Du also innerhalb der Frames springen.
ein Beispiel:

mousOver bis Frame 10 - dann mousOut starten bei 21


Code:
//d.h. bei mousOver - dann mousOut
this.gotoAndPlay( this._currentFrame + (AnzahlAllerFramesEinerAnimation - this._currentFrame)*2);

//bei mousOut  - dann mousOver
this.gotoAndPlay(2*AnzahlAllerFramesEinerAnimation - this._currentFrame);

Mh... hört sich irgendwie alles etwas kompliziert an. :rolleyes:

Guck einfach mal hier nach:

http://www.tutorials.de/tutorials199505.html



mfg Beta
 
Erstmal vielen Danke euch zwei. Leider sitz ich gerade auf der Arbeit und kann die fla von Chris
(vielen Dank dafür) nicht einsehen bzw. das ganze ausprobieren.

Bei den Buttons handelt es sich um MovieClips die als Schaltfläche dienen. Das ein- und ausfaden
funktioniert soweit. Es ist lediglich das Problem das die onRollOut-Aktion erst abgespielt werden soll wenn die
onRollOver-Aktion fertig ist, also bis Bild 15 erreicht wurde. Aber ich schau mir pünktlich zum Feierabend mal
die fla an und das Tutorial werd ich hier einmal studieren.

Bei Verzweiflung wende ich mich nochmal an euch. (wenn ich darf)

vg
 
Cooles Ding! Genau so, danke danke Chris Kurt!
Ich bin aber nicht ganz damit zufrieden das meines nicht so läuft wie es eigentlich sein soll.
Nämlich wie bei dir! Wenn man schnell über die Schaltfläche hinwegfegt,
werden in deinem Beispiel trozdem beide Befehle ausgeführt (onRollOver & Out).
Bei meinem geht es nur bis zur Mitte und führt die nächste Aktion erst nach einem
weiteren onRollOver aus.

Vielleicht magst du dir das mal anschauen und mir sagen wo der Harken ist.

gruß
 

Anhänge

Die Aktionen
PHP:
//Frame 1
out = false
und
PHP:
//Frame 20
if ( out )
{
	out = false
	play();
}
gehören in den mcTextSlider und nicht in den Knopf.
 
... nun läufts auch bei mir. Ich verliere noch gerne mal den Überblick!

& dank nochmal für den kleinen Ansatz. ;)
 
Zurück