Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-09-2005, 21:54   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
Button-Bug

Hallo,

ich ein kleines Problem. Hier erst einmal zum Sehen.
Und dann merkt man es eigentlich selbst schon schnell: wenn man schnell genug die Maus von einer laufenden Animation eines Buttons auf einen anderen Button bewegt, bleibt die Animation stehen.
Was mache ich falsch? Hier der Code des obersten Buttons (die anderen beiden sind, wie man sehen kann, sehr ähnlich):

ActionScript:
  1. on(rollOver) {
  2.     onEnterFrame = function() {
  3.         if (but1._xscale <= si) {
  4.             but1._xscale += speed;
  5.             but1._yscale += speed;
  6.         }
  7.     }
  8. }
  9. on(rollOut, dragOut) {
  10.     onEnterFrame = function() {
  11.         if (but1._xscale >= 100) {
  12.             but1._xscale -= speed;
  13.             but1._yscale -= speed;
  14.         }
  15.     }
  16. }

Die Variablenwerte zu "si" und "speed", sowie andere Dinge für Button 2 und 3 sind Bildaktion.

Freue mich auf Hilfe!
FireShark
FireShark ist offline   Mit Zitat antworten
Alt 14-09-2005, 15:42   #2 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
Hallo,

ich muss diesen Thread einfach nochmal "hochholen" - bin ja ehrlich...
Ich komme einfach nicht weiter und mit diesem Bug kann ich nicht weiterarbeiten. Es ist mir wirklich wichtig. Vielleicht stehe ich nur aufm Schlauch...

MfG
FireShark
FireShark ist offline   Mit Zitat antworten
Alt 14-09-2005, 16:01   #3 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
Und was soll da jetzt ein "Bug" dran sein? Du überschreibst ja auch den onEnterFrame-Befehl. Kenne jetzt nicht den genauen Aufbau... Sind die "Buttons" MovieClips (die dann z.B. "but1" heißen)???
Naja, so in die Richtung musst du das machen:
ActionScript:
  1. on (rollOver) {
  2.     this.onEnterFrame = function() {
  3.         if (this._xscale<=si) {
  4.             this._xscale += speed;
  5.             this._yscale += speed;
  6.         } else {
  7.             delete this.onEnterFrame;
  8.         }
  9.     };
  10. }
  11. on (rollOut, dragOut) {
  12.     this.onEnterFrame = function() {
  13.         if (this._xscale>=100) {
  14.             this._xscale -= speed;
  15.             this._yscale -= speed;
  16.         } else {
  17.             delete this.onEnterFrame;
  18.         }
  19.     };
  20. }
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 14-09-2005, 17:09   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
Hey, vielen Dank für die Hilfe erstmal!
Leider funktioniert es immernoch nicht - genau dasselbe Problem.
(Ja, ich habe MovieClips, die als Buttons deklariert sind ("Behandeln als: Schaltfläche").

Wäre sehr dankbar über weitere Vorschläge..
MfG
FireShark
FireShark ist offline   Mit Zitat antworten
Alt 14-09-2005, 17:24   #5 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Zitat:
Zitat von FireShark
(Ja, ich habe MovieClips, die als Buttons deklariert sind ("Behandeln als: Schaltfläche").
Dann sind's auch Schaltflächen. Auf die kann man aber kein onEnterFrame legen! Mach da mal MovieClips draus. Dann sollte das gehen. Oder häng mal die fla an.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 14-09-2005, 19:48   #6 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
Hm, dann verstehe ich nicht, wieso es überhaupt funzt.
Okay, dann halt mal hier die .fla...

MfG
FireShark
FireShark ist offline   Mit Zitat antworten
Alt 15-09-2005, 11:00   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Schön!
Sage ich ja, sind Schaltflächen - damit geht's nicht. MovieClips draus machen!
Warum es überhaupt funktioniert: Weil der onEnterFrame-Befehl halt auf _root ausgeführt wird. Allerdings kann da dann halt nur einer laufen, deswegen das Problem mit dem "Abbruch".
Hier mal für den ersten Button, wie es denn dann geht. Kannst du für die anderen ja anpassen (Script gehört in die Hauptzeitleiste):
ActionScript:
  1. var speed = 3;
  2. var si = 120;
  3. var al = 60;
  4. var sidi = si-100;
  5. var aldi = 100-al;
  6. but2._alpha = al;
  7. but3._alpha = al;
  8. //
  9. this.but1.onRollOver = function() {
  10.     this.onEnterFrame = function() {
  11.         if (this._xscale<=si) {
  12.             this._xscale += speed;
  13.             this._yscale += speed;
  14.         } else {
  15.             delete this.onEnterFrame;
  16.         }
  17.     };
  18. };
  19. //
  20. this.but1.onRollOut = this.but1.onDragOut=function () {
  21.     this.onEnterFrame = function() {
  22.         if (this._xscale>=100) {
  23.             this._xscale -= speed;
  24.             this._yscale -= speed;
  25.         } else {
  26.             delete this.onEnterFrame;
  27.         }
  28.     };
  29. };
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 15-09-2005, 18:00   #8 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
Okay, Frager, vielen, vielen Dank - man lernt doch ständig dazu; ich bin eh noch recht unerfahren, also sorry für solch banale Fragen.
Naja, ich habe aber verstanden, wieso es nicht geklappt hat und es funzt jetzt prima.

MfG
FireShark
FireShark ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 00:06 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele