Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-10-2003, 18:01   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Ort: Zu Hause
Beiträge: 68
Arrow "Hüpfball-Funktion" n mal hintereinander ausführen

Ich kenne For-Schleifen, While-Schleifen etc. aber die Benutzung ist in meinem Programm etwas verzwickt.

Beschreibung: Auf dem Bildschirm ist ein MovieClip (ein Ball) und ein Schalter. Das Programm ist nur zu Lernzwecken gedacht.

Code (in der Actions-Ebene):

ActionScript:
  1. var count = 0; // Wird für die "Hüpfen-Funktion" benötigt
  2. var n = 2; // Wie oft der Ball springen SOLLTE, bevor man den Schalter wieder betätigt
  3. object1._x = 0; // Die x-Position des Balles
  4. object1._y = 0; // Die y-Position des Balles
  5.  
  6. stop()
  7.  
  8. button1.onRelease = function () {
  9.     if (object1._y == 0) {
  10.         varID = setInterval(hüpfen, 10);
  11.     }
  12. }
  13.  
  14. function hüpfen() {
  15.     if (count == 200) {
  16.         clearInterval (varID); // ohne diesen Befehl würde der Ball unendlich lange hüpfen
  17.         count = 0;
  18.     }
  19.     else {
  20.         if (count < 100) {
  21.             object1._y += 5;
  22.             count++
  23.         }
  24.         else {
  25.             object1._y -= 5;
  26.             count++
  27.         }
  28.     }
  29. }


Ich habe meine fehlgeschlagenen Programmierversuche herausgenommen, um euch nicht zu verwirren. Im obigen Programmbeispiel hüpft der Ball genau einmal, wenn man den Schalter drückt, d.h. er bewegt sich konstant nach unten und dann wieder nach oben und bleibt dort stehen. Jetzt kommt das Problem: wenn ich einfach eine For-Schleife vor den Aufruf der "Hüpfen-funktion" setze, dann wird diese n mal (fast) gleichzeitig ausgeführt und somit bewegt sich der Ball nur schneller und hüpft nicht n mal (außerdem gibts weitere Probleme). Was kann ich tun, damit die nächste Hüpfen-Funktion erst ausgeführt wird, wenn die vorhergehende zu Ende ist? Es sollte also wie folgt aussehen: ich drücke den Schalter, der Ball hüpft genau n mal und hält dann wieder oben an. Wenn ich danach den Schalter noch einmal drücke, wiederholt sich der Vorgang. n könnte z.B. durch eine Benutzereingabe vorher festgelegt werden, im obigen Programmcode, habe ich sie aber einfach auf 2 gesetzt.

Auch wenn dieses Programm vielleicht sinnlos erscheint, dieses und andere eigene Programme helfen mir aber dabei, Actionscript zu lernen. Deshalb bitte ich euch, sich meine Fragen einmal anzusehen.

PS: Ich habe das Programm als gepackte .fla-Datei angehängt. Jeder der will, kann es für eigene Zwecke nutzen.

Cya
Angehängte Dateien
Dateityp: zip hüpfball.zip (18,0 KB, 9x aufgerufen)
__________________
Es gibt 10 Möglichkeiten: Entweder man versteht das Binär-System oder nicht.
Red_Wraith ist offline   Mit Zitat antworten
Alt 10-10-2003, 19:25   #2 (permalink)
Humane Resource
 
Benutzerbild von Salix
 
Registriert seit: Jun 2003
Ort: Karben
Beiträge: 95
Ui, geile Aufgabe

habe ewig dran gebastelt, aber ich habs geschafft...

cool, so Aufgaben mag ich.

greets der Salix
Angehängte Dateien
Dateityp: zip hüpfball.zip (17,4 KB, 37x aufgerufen)
Salix ist offline   Mit Zitat antworten
Alt 10-10-2003, 21:28   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Ort: Zu Hause
Beiträge: 68
Sehr schön! Vielen dank. Wenn ich wieder ein verzwicktes Code-Problem habe, dann weiß ich was ich tun muss.

Cya
__________________
Es gibt 10 Möglichkeiten: Entweder man versteht das Binär-System oder nicht.
Red_Wraith 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 18:10 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele