Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-09-2003, 03:00   #1 (permalink)
Geomatik-Flasher
 
Benutzerbild von Totty
 
Registriert seit: Aug 2002
Ort: Karlsruhe
Beiträge: 162
Schaltfläche immer wieder ausführen...

Hallo zusammen,
ich habe ein paar Buttons, die ich gerne nachträglich so modifizieren möchte, daß die Aktion, die auf onRelease erfolgt ebenfalls bei onPress ausgeführt wird. Allerdings immer wieder und wieder so ca. alle Viertelsekunden...
Ich möchte das aber nicht mit irgendwelchen MCs mache, die sich einfach nur rundlaufen.

Geht das irgendwie per Script???

Ich hatte es mal so probiert - Hängt sich aber immer auf...:

ActionScript:
  1. on (release) {
  2.     this.dumdidum = 1;
  3.     machwas();
  4. }
  5. on (press) {
  6.     this.dumdidum = 0;
  7.     this.start = getTimer();
  8.     this.anzahl = 1;
  9.     while (this.dumdidum == 0) {
  10.         this.jetzt = getTimer();
  11.         if (this.jetzt > (250*this.anzahl)+this.start) {
  12.             machwas();
  13.             this.anzahl++;
  14.         }
  15.     }
  16. }
  17. on (releaseOutside, rollOut, dragOut) {
  18.     this.dumdidum = 1;
  19. }

Da muß es doch irgendeinen sinnvollen Weg geben, die Buttons nachträglich einfach zu ändern, oder???

Vielen Dank im voraus!

SeeYa, Totty!
__________________
Where in this small-thinking world can I find a longitude without a platitude?

Geändert von Totty (18-09-2003 um 03:03 Uhr)
Totty ist offline   Mit Zitat antworten
Alt 18-09-2003, 08:09   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Du musst immer daran denken, dass deine if-Abfrage if (this.jetzt > (250*this.anzahl)+this.start) {... nur genau einmal überprüft wird. Wenn du weitere Überprüfungen benötigst, solltest du das ganze in einen onEnterFrame-Event legen.

Darüberhinaus macht Flash Probleme beim schnellen "Hintereinander-"Abfragen von Buttons. Je nach Systemleistung kann sich das Script im Worst-Case sogar aufhängen...
  Mit Zitat antworten
Alt 19-09-2003, 03:37   #3 (permalink)
Geomatik-Flasher
 
Benutzerbild von Totty
 
Registriert seit: Aug 2002
Ort: Karlsruhe
Beiträge: 162
Hmm, 'tschuldige, daß ich nochmal dumm frage, aber die while-schleife sollte doch weiterhin ausgeführt werden (und damit auch die if-Abfrage), oder???

... Aber das das nicht der Weg sein würde war mir schon klar...

Aber wie kann ich ein onEnterFrame-Event an die Schaltfläche anschließen???

Totty
__________________
Where in this small-thinking world can I find a longitude without a platitude?
Totty ist offline   Mit Zitat antworten
Alt 19-09-2003, 09:28   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Ja, das mit der Asynchronität von Flash ist am Anfang ein wenig verwirrend. Man kann sich das evtl. so vorstellen, dass Scripte in einem Frame nur laufen, bis dieser Frame abgearbeitet ist. Das einfachste ist immer, man setzt sich in die Funktionen und Schleifen ein paar gezielte traces ein und lässt sich diese im Fehlersuche-Modus ausgeben.

Den onEnterFrame-Event kannst du an jeder Stelle einbauen. Sicherheitshalber würde ich einen neuen MC erstellen und an diesen den Event anhängen und nach Abarbeiten (unbedingt!) wieder löschen.
ActionScript:
  1. var startZeit = getTimer();
  2. _level0.createEmptyMovieClip("bigbrother",10000);
  3. _level0.bigbrother.onEnterFrame = function(){
  4. var aktuelleZeit = getTimer();
  5. var diffzeit=aktuelleZeit-startZeit;
  6. if (diffzeit >= 2000) {//2 Sekunden
  7. // wenn die Timerzeit überschritten ist...
  8. trace("Zeit überschritten");
  9. delete _level0.bigbrother.onEnterFrame;
  10. }
  11. }
  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 04:06 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele