Know-how für Kreative

Inhaltsverzeichnis
1 Erste Schritte
2 Versionen
3 Einführung in die Programmierung
4 Die Entwicklungsumgebung
5 Regeln
6 Anweisungen und Aktionen
7 Werte und Datentypen
8 Ausdrücke und Operatoren
9 Funktionen
10 Kontrollstrukturen
11 Dokumenten-Objektmodell und Gültigkeitsbereich (Scope)
12 Ereignisse
13 Objekterstellung
14 Vererbung
15 Movieclips
16 ActionScript 2.0
17 Komponenten
18 Codedesign und Konzeption
19 Flashdetection
20 Aussergewoehnliche Benutzerfuehrung
21 D mit Flash
22 Macromedia Central
23 HTML
24 JavaScript, ActiveX und Java
25 Flash undokumentiert
26 Vergangenheit, Gegenwart und Zukunft
27 Kurzreferenz
28 Buchtipps
29 Links
30 Die CD-ROM zum Buch
Index
Download: - ZIP, ca. 9,8 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Design / <openbook> / ActionScript | vor >>
ActionScript 1 und 2 von Sascha Wolter (http://www.saschawolter.de/) Objektorientierung und Codedesign mit Flash MX 2004
ActionScript 1 und 2 672 S., mit CD, Referenzkarte, 44,90 Euro Galileo Design ISBN 3-89842-221-6 |
| Kapitel 10 Kontrollstrukturen
|  | 10.1 Bedingte Anweisungen
|  |  | 10.1.1 if
|  |  | 10.1.2 else
|  |  | 10.1.3 else if (mehr als eine Alternative)
|  |  | 10.1.4 switch und break
|  | 10.2 Schleifen
|  |  | 10.2.1 Endlosschleifen
|  |  | 10.2.2 while
|  |  | 10.2.3 do while
|  |  | 10.2.4 for
|  |  | 10.2.5 for in
|  |  | 10.2.6 break
|  |  | 10.2.7 continue
|  | 10.3 Ausnahmebehandlung
|  |  | 10.3.1 try-catch-finally
|  |  | 10.3.2 throw
# Kapitel 10 Kontrollstrukturen #### Ob und wie oft Anweisungen ausgeführt werden Flash arbeitet die in einem Skript enthaltenen Anweisungen nacheinander von oben nach unten ab, bis das Ende des Skripts erreicht ist. Mit Hilfe von Kontrollstrukturen nehmen Sie Einfluss auf diese Reihenfolge. Es ist nicht immer ganz einfach, die Einzelschritte computergerecht zu formulieren. z.B. gibt es einige Schritte, die von Bedingungen wie »bis der Teig nicht mehr zu flüssig ist« oder »wurde das Raumschiff getroffen« abhängig sind. Glücklicherweise bieten Programmiersprachen aber auch dafür Anweisungen wie z.B. Kontrollstrukturen in zahlreichen Varianten an:
    wiederhole {
       verrühre Teig;
    } solange (Teig nicht zu flüssig);
##### bedingte Anweisung Sollte eine Aktion oder ein Block von Aktionen abhängig von einer Bedingung einmalig ausgeführt werden, dann spricht man von einer bedingten Anweisung: »Wenn die Ampel rot ist, dann bleibe stehen!«
    // Bedingte Anweisung
    if (ampelIstRot()) {
       halteAn();
    }
##### Schleife Sollen die Anweisungen wiederholt werden, dann handelt es sich um eine Schleife: »Reduziere Geschwindigkeit, solange das Auto nicht steht!« oder »Blinke drei Mal!«
    //_Bedingte_Schleife
    while_(autoStehtNicht)_{
    ___reduziereGeschwindigkeit();
    }
    //_Zaehlschleife
    for_(var_zaehler=0;_zaehler<3;_zaehler=zaehler+1)_{
    ___blinke();
    }
## 10.1 Bedingte Anweisungen Bedingte Anweisungen helfen zu entscheiden, ob Flash einen Block von Aktionen ausführt oder nicht. Sollten Sie mehrere Alternativen – abhängig von unterschiedlichen Bedingungen – benötigen, dann verwenden Sie dafür ebenfalls bedingte Anweisungen. ### 10.1.1 if Hier klicken, um das Bild zu Vergrößern Abbildung 10.1 Abarbeitung der Aktionen in einer bedingten Anweisung (if) Das if können Sie sich wie das konditionale Wenn vorstellen. Anstelle von »Wenn Sandra Zeit hat, dann treffe ich mich mit ihr«, schreiben Sie in ActionScript so etwas wie
    if (sandra.hatZeit()) {
       ich.treffe(sandra);
    }
Die Anweisung if finden Sie innerhalb des ActionScript-Editors unter Anweisungen • Bedingungen/Schleifen. Diese Anweisung signalisiert, dass die ihr folgenden Befehle nur ausgeführt werden, falls die angegebene Bedingung wahr (true) ist. Als Bedingung geben Sie einen beliebigen Ausdruck an, dessen Ergebnis ein boolescher Wert ist (true oder false). Die von der Bedingung abhängigen Aktionen werden innerhalb von geschweiften Klammern bestimmt (sozusagen wie bei einer Gruppierung durch die Klammern zu einer Anweisung zusammengefasst). Sollten Sie nur eine einzige Aktion angeben, dann dürfen Sie auf die geschweiften Klammern verzichten und anstelle von
    if (sandra.hatZeit()) {
       ich.treffe(sandra);
    }
auch
    if (sandra.hatZeit()) ich.treffe(sandra);
schreiben! Die »lange« Schreibweise ist jedoch meist besser lesbar. Das folgende Skript macht Gebrauch vom if und bewegt ein Objekt mit Hilfe von ActionScript horizontal über die Bühne; sobald der rechte Rand der Bühne erreicht ist, setzt das Skript das Objekte wieder an den linken Rand.
    box_mc.onEnterFrame = function() {
##### 02_Programmierung\Kontrollstrukturen
       // Verschiebe Objekt
       this._x = this._x+5;
       // Wenn das Objekt am Ende angekommen ist
       if (this._x>550) {
          // dann setze es wieder auf den Anfang
          this._x = 0;
       }
    };
### 10.1.2 else Das else erweitert die Aktion if um einen alternativ auszuführenden Block, der dem umgangssprachlichen sonst entspricht. Anstelle von »Wenn Sandra Zeit hat, dann treffe ich mich mit ihr, sonst lerne ich Flash«, schreiben Sie in ActionScript so etwas wie
    if (sandra.hatZeit()) {
       ich.treffe(sandra);
    } else {
       ich.lerne(flash);
    }
Hier klicken, um das Bild zu Vergrößern Abbildung 10.2 Abarbeitung der Aktionen in einer bedingten Anweisung (if und else) Die Anweisung else finden Sie innerhalb des ActionScript-Editors ebenfalls unter Anweisungen • Bedingungen/Schleifen. Diese Anweisung signalisiert im Zusammenspiel mit der if-Anweisung, dass die ihr folgenden Befehle nur ausgeführt werden, falls die bei if angegebene Bedingung falsch (false) ist. Die Befehle werden innerhalb von geschweiften Klammern bestimmt. Sollten Sie nur einen einzigen Befehl angeben, dann dürfen Sie auf die geschweiften Klammern verzichten und anstelle von
    if (sandra.hatZeit()) {
       ich.treffe(sandra);
    } else {
       ich.lerne(flash);
    }
ebenfalls
    if (sandra.hatZeit()) ich.treffe(sandra); else ich.lerne(flash);
schreiben! Die längere Schreibweise ist jedoch besser lesbar. Das folgende Skript macht Gebrauch von if mit else und bewegt ein Objekt mit Hilfe von ActionScript horizontal über die Bühne; sobald der rechte Rand der Bühne erreicht ist, setzt das Skript das Objekte wieder an den linken Rand.
    box_mc.onEnterFrame = function() {
##### 02_Programmierung\Kontrollstrukturen
       // Wenn das Objekt am Ende angekommen ist
       if (this._x>550) {
          // dann setze es wieder auf den Anfang
          this._x = 0;
       } else {
          // sonst verschiebe das Objekt
          this._x = this._x+5;
       }
    };
### 10.1.3 else if (mehr als eine Alternative) Falls Sie mehrere Alternativen gleichzeitig überprüfen möchten, dann lassen sich if-Anweisungen ineinander schachteln:
    if (bedingung1) {
       // Anweisungen1
    } else {
       if (bedingung2) {
          // Anweisungen2
       } else {
          if (bedingung3) {
             // Anweisungen3
          } else {
             // Anweisungen4
          }
       }
    }
Anstelle von dieser Verschachtelung bietet Flash das else if, das ebenfalls eine Bedingung überprüft:
    if (bedingung1) {
       // Anweisungen1
    } else if (bedingung2) {
       // Anweisungen2
    } else if (bedingung3) {
       // Anweisungen3
    } else {
       // Anweisungen4
    }
### 10.1.4 switch und break ##### switch Eine weitere Möglichkeit für die bedingte Ausführung von Programmcode ist die switch-Anweisung. In diesem Fall prüft Flash einen Ausdruck jeweils auf die strikte Gleichheit (d.h. dass sowohl der Wert als auch der Datentyp identisch sein müssen) mit weiteren Ausdrücken. So muss nicht zwangsläufig eine Bedingung verwendet werden:
    switch (ausdruck) {
    case ausdruck1 :
       // anweisungen1
       break;
    case ausdruck2 :
       // anweisungen2
       break;
    case ausdruck3 :
       // anweisungen3
       break;
    default :
       // anweisungen4
    }
##### break bricht Kontrollstrukturen ab! Die break-Anweisung am Ende der einzelnen case-Blöcke ist notwendig, um die Ausführung mehrerer case-Anweisungen zu verhindern. Denn sobald die erste Bedingung erfüllt ist, werden alle weiteren case-Blöcke unabhängig von ihrem Ausdruck abgearbeitet. Wenn also ausdruck === ausdruck2 gilt, dann wird auch der restliche Programmcode inklusive den anweisungen3 und den anweisungen4 ausgeführt. Das break verhindert dies, indem die komplette Kontrollstruktur beendet wird. In dem default-Bereich geben Sie die Anweisungen an, die ausgeführt werden sollen, falls keine der vorherigen Bedingungen zutrifft. Dies entspricht in etwa dem else bei den if-else-Anweisungen.
<< zurück | <top> | vor >>
Zum Katalog
ActionScript 1 und 2 bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchtipps
| Einstieg in ActionScript
| Einstieg in Flash 8
| Flash 8 und PHP
| Flash 8-Tutorials
| Dreamweaver 8
| Webseiten programmieren und gestalten
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press GmbH 2005
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.

[Galileo Design]
Galileo Press GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de