Actionscript Problem

TheEM

Mitglied
Hi !

also :

Ich hab ein Button, das, wenn die Maus drüberrollte eine Animation zum laufen bringt und beim wegrollen vom Button sie wieder beim ende stoppt. Wenn ich aber ganz schnell mit der Maus über das Button gehe, stoppt er schon bei der hälfte der Animation, nicht wie er sollte am ende :
----------Button script---------
on (rollOver) {
tellTarget ("Ani_1") {
gotoAndPlay (5);
}
}
on (rollOut) {
tellTarget ("Ani_1") {
gotoAndPlay (10);
}
}
--------------------------------
Die Animation ist 10 Frames lang und hat auf 0, 5 & 10 einen stop befehl.

Wie kann ich das machen das auch beim superschnellen rüberziehen der Maus über das Button die animation ganz normal abgespielt wird ??
:(
 
im debugger mode sagt der beim ganz schnellen rüberziehen "target not found"..
anscheinend is die Abfragerate zu niedrig..kann man die irgendwie erhöhen ??

ich hab mal ne beispiel für mein Problem erstellt...
einfach ganz schnell die Maus über "Test" ziehen
klickst du hier für beispiel
kann mir jemand helfen ??
 
Hi,

das wäre mir neu, dass die EventHandler onRollOver und onRollOut framerateabhängig sind, bzw. in irgendeiner Relation zur framerate oder ähnlichem stehen.

Hab mal einfach jeweils einen solchen Handler für eine Objektinstanz definiert und dann mal mit allen frameraten durchgespielt, das erst mit flash5-Syntax und den fixen EventHandler und danach noch mit flashmx-Syntax und dynamischem EventHandler - beide Events haben immer gefeuert, egal ob schnelle oder langsame Mausbewegung im Spiel war.

tellTarget ist ja aber auch schon seit Flash 5 wohl als obsolet anzusehen denn schon ab F5 gab es die Punktsyntax, welche eine genaue Pfadangabe ermöglich, auch ohne die Instanzenfindung durch tellTarget.
Würde von daher mal lieber über die Punktsyntax den Instanzpfad angeben, vielleicht liegt der Fehler einfach bei tellTarget.

Gruß vom Geist
 
tjo...da hätte ich das problem das ich mit Actionscript noch nicht gerade so der Held bin...
kannst du mir vielleicht mal den TellTarget befehl mit dem Punktsyntax etc. umschreiben ??

und riesen Thx für die Antwort, dachte schon da weiss niemand weiter (bzw. kuggt niemand in den Thread .p )
 
Soo..ich hab das jetzt per Punktsyntax, und wenigstens Reagiert die Animation immer wenn ich rüberrolle !
super
jetzt hab ich aber ein anderes Problem :
anstatt die Animation abzuspielen springt es nur zu meinem gewünschten Frame.
Hier das Buttonscript :
-----------------------------
on (rollOver) {
ani_1.goToandPlay(5)
}
on (rollOut) {
ani_1.goToandPlay(10)
}
-----------------------------
Was ist jetzt Falsch ??
er springt nur zu Frame 5 anstatt, wie ich es will, alle zwischenbilder auch zu zeigen...
:( :( :(
 
ok...also ich bin mir keines Fehlers bewusst den ich gemacht hätte...
aber vielleicht is ja einer von euch so nett und schaut sich das mal an..
ich häng die datei an...
 

Anhänge

  • test.zip
    12,7 KB · Aufrufe: 25
Hab's mal ein wenig überarbeitet - woran du noch schrauben musst ist die Fläche des bewegenden Dreiecks.
Zum MC gehören ja nur die blauen Abschnitte, die weißen Teile dazwischen hast du rausgelassen - du wirst nach etwas Testen feststellen, dass beim Aufklappen des Dreiecks der Cursor auch mal in den weißen Bereich dazwischen kommt und damit schon wieder das RollOut-Event eintritt, welches gar nicht eintreten soll. :)

Also am besten die weißen Zwischenabschnitte noch mit in den Movieclip integrieren, dann dürfte es keine Probleme geben.

hth,
Geist
 

Anhänge

  • test2.zip
    13,8 KB · Aufrufe: 21
du meinst also das ich ne weise Fläche dazwischen mitbewegen lassen sollte ?
weil das weise ist ja nix..hab einfach nen Kasten genommen, zum 3.eck gemacht und die Lücken mit dem Radierer gelöscht und alle 3teile zu Objekten gemacht...
die Animation is ne schlichte bewegung dabei...
naja..ich mach sie mal neu aber im grund glaub ich das ich dich nicht verstanden habe...:(
hab mir deine überarbeitet datei auch mal angeschaut aber sieht alles ganz genausoaus wie bei mir die alte...:((

gruß EM

EDIT : // ich seh gerade du hast ein Actionscript auf die Animation gehauen :p
das gehört eigentlich auf die Unsichtbare Schaltfläche links darüber :p
aber mit deinem script funktioniert es !
-----mein altes----
on (rollOver) {
ani_1.gotoAndPlay(5);
}
on (rollOut) {
ani_1.gotoAndPlay(10);
}
-------------------

----dein script----
on (rollOver) {
ani_1.play();
}
on (rollOut) {
ani_1.gotoAndPlay(11 - ani_1._currentframe);
}
-------------------
jetzt macht er das genauso wie ich das haben wollte !!
riesen THX !
aber dann lag der Fehler ja doch am Button script :(
eDIT 3: // ich hab this durch ani_1 ersetzt weil ja das Button das Ganze in bewegung setzten soll und nicht die Animation...
 
Zuletzt bearbeitet:
Hm, doch scheinst mich recht gut verstanden zu haben. :)

Dass du die Dreiecke so gemacht hast, wie sie sind, ist mir klar. ;)

Nochmal kurz zur Theorie:
Maus geht über MC-Teil (also eine der drei blauen Flächen) und löst den RollOver-Event aus, dabei wird die Figur horizontal gestreckt, läuft optimal wenn die Maus über das rechtsäußere blaue Teil bewegt wird.
Bewegst du sie jedoch ungünstig mal über eine der anderen beiden Flächen, wirst du feststellen können, dass während des Spreizens die Maus einen der nicht-blauen Zwischenräume touchiert und damit wiederum ein RollOut-Event losfeuert, obwohl die Maus sich selbst nicht bewegt hat. :)

Das macht keinen zweckmäßigen Eindruck, lässt sich aber recht einfach aus der Welt schaffen indem du die weißen Flächen mit zur MC-Fläche nimmst; macht optisch keinen Unterschied, stört aber die EventHandler nicht.

Meine Datei ist mit deiner übrigens kongruent bis auf die Objektaktion, die ich dem obersten Dreieck mal zugeordnet habe.

Gruß,
Geist
 
Zurück