Rheinwerk Design < openbook > Rheinwerk Design - Know-how für Kreative.
Know-how für Kreative.

Inhaltsverzeichnis
Vorwort
1 Flash für ActionScript
2 ActionScript in Flash
3 Flash Pro für ActionScript
4 Grundlagen der Programmierung
5 Einfache Filmsteuerung
6 Bildschirme und Präsentationen
7 Drucken und das Kontextmenü
8 Textfelder
9 Tasten
10 Datum und Zeit
11 Rechnen
12 Farbe wechseln und Drag
13 Zeichnen und Zufall
14 Von Mäusen und Duplikaten
15 Kollisionstest
16 Sound
17 Video
18 Externe Filme
19 Vorladen und Player erkennen
20 Formulare und UI-Komponenten
21 Komponenten anpassen
22 Formulare versenden
23 Warenkorb
24 Ausblick auf ActionScript 3
Stichwort
Ihre Meinung?

Spacer
 <<   zurück
Einstieg in ActionScript von Christian Wenz, Tobias Hauser, Armin Kappler
Aktuell zu Flash 8
Buch: Einstieg in ActionScript

Einstieg in ActionScript
brosch., mit CD und QuickFinder und Referenz
416 S., 24,90 Euro
Rheinwerk Design
ISBN 978-3-89842-774-6
Pfeil 4 Grundlagen der Programmierung
  Pfeil 4.1 Variablen
  Pfeil 4.2 Kommentare
  Pfeil 4.3 Operatoren
  Pfeil 4.4 Fallunterscheidungen
  Pfeil 4.5 Schleifen
  Pfeil 4.6 Funktionen
  Pfeil 4.7 Objekte
  Pfeil 4.8 Strings und ihre Besonderheiten
  Pfeil 4.9 Arrays


Rheinwerk Computing - Zum Seitenanfang

4.5 Schleifen  topZur vorigen Überschrift

Eine Schleife läuft so lange, wie eine Bedingung erfüllt ist. Die Konsequenz: Sie können mit einer Schleife bestimmte Anweisungen beliebig oft wiederholen. Dieses Grundprinzip gilt für alle Schleifenarten in ActionScript, Unterschiede gibt es nur bei der Syntax.

In der Praxis können Sie beispielsweise eine Schleife einsetzen, um 20 Instanzen eines MovieClips zu erzeugen und zufällig auf der Bühne zu platzieren. Das ist natürlich nur eine von vielen Anwendungsmöglichkeiten.

for-Schleife

Die for-Schleife ist die komfortabelste aller Schleifen. Um sie zu verstehen, werfen Sie zuerst einen Blick auf ihre Syntax:

for (Startanweisung; Bedingung; Durchlaufanweisung) {

Anweisungen;

}

Chronologisch läuft die Schleife so ab:

  • Zuerst wird die Startanweisung ausgeführt; dies geschieht nur einmal zu Beginn der Schleife.
  • Anschließend wird die Bedingung überprüft.
  • Ist diese erfüllt, werden die Anweisungen in den geschweiften Klammern einmal ausgeführt. Ist die Bedingung nicht erfüllt, wird die Schleife sofort verlassen.
  • Nach den Anweisungen kommt die Durchlaufanweisung einmal zur Ausführung.
  • Anschließend wird wieder die Bedingung überprüft.
  • Ist diese erfüllt, werden die Anweisungen erneut ausgeführt und so weiter …

for-in-Schleife

Die for-in-Schleife ist eine Abwandlung der for-Schleife und dient dazu, Objekte oder Arrays zu durchlaufen. Die Grundlagen lesen Sie im Abschnitt »Objekte«, das Zusammenspiel mit Arrays steht im Abschnitt »Arrays«.


Abbildung 4.15 Der Ablauf einer for-Schleife

Erkennen Sie schon den Sinn hinter den einzelnen Elementen? Aus Startanweisung, Bedingung und Durchlaufanweisung lässt sich ein einfacher Zähler erzeugen:

for (var i:Number = 1; i < 15; i++) {
   trace(i);
}

Die Variable i wird in der Startanweisung mit dem Wert 1 initialisiert.

Abbildung 4.16 Die Schleife gibt die Zahlen von 1 bis 14 aus.

Zählervariablen heißen oft i, j, k etc. Wenn Sie Schleifen ineinander verschachteln, müssen Sie unterschiedliche Zählervariablen verwenden. Stehen Schleifen aber hintereinander, reicht es, immer nur einen Variablennamen (meist i) einzusetzen und in jeder Schleife den Anfangswert zurückzusetzen. Bei Zählervariablen lässt man meistens den Datentyp als Suffix weg, da der Datentyp eindeutig Number ist.

while-Schleife

Die while-Schleife heißt oft »Mutter aller Schleifen«, da sie zum einen schon lange existiert und da sich zum anderen mit ihr verschiedene Schleifen nachbilden lassen. Ihre Syntax ist einfacher als die Syntax der for-Schleife:

while (Bedingung) {

Anweisungen;

}

Das einzige festgelegte Element ist die Überprüfung der Bedingung. Nur wenn sie erfüllt ist, führt der ActionScript-Interpreter die Anweisungen im Block (geschweifte Klammern) aus.

Abbildung 4.17 Bei der while-Schleife ist nur die Bedingung festgelegt.


Fehlerquellen

Achten Sie genau auf Startwert und Bedingung für Ihre Zählervariable. Eine der möglichen Fehlerquellen: Die Schleife wird einmal zu wenig durchlaufen, weil in der Bedingung ein »Kleiner als« statt eines »Kleiner gleich« steht.


Was geschieht aber, wenn die Bedingung immer, also vor jedem Schleifendurchlauf, zutrifft? Wir zeigen Ihnen einen solchen Fall – bitte testen Sie den Code nicht!

var i:Number = 1;
while (i < 15) {
   trace(i);
}

Hier handelt es sich um eine Endlosschleife. Da die Schleife nie endet, frisst sie Systemressourcen und führt im schlimmsten Fall zum Systemabsturz. Der Flash-Player besitzt für solche Fälle eine Sicherheitsbremse, die nach einer Weile eine Warnmeldung zeigt und erlaubt, die Endlosschleife abzubrechen.

Abbildung 4.18 Diese Fehlermeldung deutet auf eine Endlosschleife hin.

Um eine Endlosschleife zu vermeiden, benötigen Sie wie bei der for-Schleife für den Zähler eine Durchlaufanweisung. Da diese Anweisung bei while nicht in die runden Klammern gehört, fügen Sie sie einfach als letzte Anweisung in den Anweisungsblock ein:

var i:Number = 1;
while (i < 15) {
   trace(i);
   i++;
}

Auch hier stellt sich wieder die Frage, wann for und wann while sinnvoll ist. Pauschalaussagen sind schwierig: for ist etwas komfortabler und erfordert weniger Zeilencode; while kann allerdings genauso eingesetzt werden. Diese Schleife ist etwas flexibler, da Startanweisung und Durchlaufanweisung nicht vorgegeben sind. Schließlich und endlich ist die Wahl in den meisten Fällen Geschmacksache.

Abbildung 4.19 Sie sehen dieselbe Wirkung wie im letzten Abschnitt, nur dieses Mal mit while.

do-while-Schleife

Die do-while–Schleife funktioniert exakt wie die while–Schleife, außer… Sie sehen es bei einem Blick auf die Syntax:

do {

Anweisungen;

} while (Bedingung)

Die Bedingung wird erst nach dem Schleifendurchlauf geprüft. do steht quasi für »mach erst einmal«; gemeint ist damit die Schleife, die zuerst ihre Arbeit erledigen soll. Sie sehen dies in Abbildung 4.20.

Abbildung 4.20 do while führt zuerst die Anweisungen aus und prüft dann die Bedingung.

var i:Number = 20;
do {
   trace(i);
   i++;
} while (i < 15)

Abbildung 4.21 Meistens ungewollt: do while führt die Anweisung einmal aus, obwohl die Bedingung nicht erfüllt ist.

In diesem Fall wird der Wert 20 nur einmal ausgegeben. Das ist in den meisten Fällen nicht erwünscht; deswegen kommt die do-while-Schleife in der Praxis kaum zum Einsatz. Und wenn, dann möchte der Entwickler genau dieses »komische« Verhalten erzeugen.



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

 <<   zurück
  
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: ActionScript 3 – Das Praxisbuch
ActionScript 3
Das Praxisbuch

bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: JavaScript






 JavaScript


Zum Rheinwerk-Shop: jQuery






 jQuery


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


Zum Rheinwerk-Shop: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern