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 8 Ausdrücke und Operatoren
|  | 8.1 Ausdrücke
|  |  | 8.1.1 Operatoren
|  |  | 8.1.2 Reihenfolge
|  |  | 8.1.3 Bedingungen
|  | 8.2 Zuweisungsoperatoren
|  |  | 8.2.1 ++ (Prä- und Post-Inkrement)
|  |  | 8.2.2 -- (Prä- und Post-Dekrement)
|  |  | 8.2.3 = (Zuweisung)
|  |  | 8.2.4 *= (Multiplikationszuweisung)
|  |  | 8.2.5 /= (Divisionszuweisung)
|  |  | 8.2.6 %= (Modulozuweisung)
|  |  | 8.2.7 += (Additionszuweisung)
|  |  | 8.2.8 -= (Subtraktionszuweisung)
|  |  | 8.2.9 &= (bitweise Und-Zuweisung)
|  |  | 8.2.10 |= (bitweise Oder-Zuweisung)
|  |  | 8.2.11 ^= (bitweise XOder-Zuweisung)
|  |  | 8.2.12 <<= (bitweise Verschiebung nach links und Zuweisung)
|  |  | 8.2.13 >>= (bitweise Verschiebung nach rechts und Zuweisung)
|  |  | 8.2.14 >>>= (vorzeichenlose bitweise Verschiebung nach rechts und Zuweisung)
|  | 8.3 Arithmetische Operatoren
|  |  | 8.3.1 + (Addition, Konkatenation und Plus-Vorzeichen)
|  |  | 8.3.2 - (Subtraktion und Minus-Vorzeichen)
|  |  | 8.3.3 * (Multiplikation)
|  |  | 8.3.4 / (Division)
|  |  | 8.3.5 % (Modulo)
|  | 8.4 Vergleichsoperatoren
|  |  | 8.4.1 < (kleiner als)
|  |  | 8.4.2 <= (kleiner als oder gleich)
|  |  | 8.4.3 > (größer als)
|  |  | 8.4.4 >= (größer als oder gleich)
|  |  | 8.4.5 lt (kleiner als für Strings in Flash 4)
|  |  | 8.4.6 le (kleiner oder gleich für Strings in Flash 4)
|  |  | 8.4.7 gt (größer als für Strings in Flash 4)
|  |  | 8.4.8 ge (größer oder gleich für Strings in Flash 4)
|  |  | 8.4.9 == (gleich)
|  |  | 8.4.10 != (ungleich)
|  |  | 8.4.11 === (striktes Gleich)
|  |  | 8.4.12 !== (striktes Ungleich)
|  |  | 8.4.13 eq (gleich für Strings in Flash 4)
|  |  | 8.4.14 ne (ungleich für Strings in Flash 4)
|  |  | 8.4.15 instanceof (Instanz von Prototyp)
|  |  | 8.4.16 in (Eigenschaft von Instanz)
|  | 8.5 Logische Operatoren
|  |  | 8.5.1 ! (logisches Nicht)
|  |  | 8.5.2 not (logisches Nicht in Flash 4)
|  |  | 8.5.3 && (logisches Und)
|  |  | 8.5.4 and (logisches Und in Flash 4)
|  |  | 8.5.5 || (logisches Oder)
|  |  | 8.5.6 or (logisches Oder in Flash 4)
|  | 8.6 Bitweise Operatoren
|  |  | 8.6.1 ~ (Bit-Komplement)
|  |  | 8.6.2 << (bitweise Verschiebung nach links)
|  |  | 8.6.3 >> (bitweise Verschiebung nach rechts)
|  |  | 8.6.4 >>> (vorzeichenlose bitweise Verschiebung nach rechts)
|  |  | 8.6.5 & (bitweises Und, String-Verknüpfung in Flash4)
|  |  | 8.6.6 ^ (bitweises XOder)
|  |  | 8.6.7 | (bitweises Oder)
|  | 8.7 Sonstige Operatoren
|  |  | 8.7.1 ( ) (Gruppierung und Funktionsaufruf)
|  |  | 8.7.2 [ ] (Array-Zugriff und Array-Initialisierung)
|  |  | 8.7.3 { } (Objektinitialisierung)
|  |  | 8.7.4 . (Objektzugriff)
|  |  | 8.7.5 new (Objekt zuweisen)
|  |  | 8.7.6 delete (Objektzuweisung aufheben)
|  |  | 8.7.7 typeof (Objekttyp)
|  |  | 8.7.8 void (gibt einen undefinierten Wert zurück)
|  |  | 8.7.9 add (Stringverkettung in Flash 4)
|  |  | 8.7.10 ?: (bedingt)
|  |  | 8.7.11 , (mehrfache Auswertung)
## 8.2 Zuweisungsoperatoren Bei Zuweisungsoperatoren ist es immer wichtig, auf der linken Seite nur einen Bezeichner als Operanden zu verwenden. Denn dieser Bezeichner wird als Variable oder Eigenschaft interpretiert und erhält den Wert des Operanden auf der rechten Seite.

Tabelle 8.2 Die wichtigsten Zuweisungsoperatoren

Operator | Beschreibung
= | Zuweisung
*=, /=, %=, +=, -= | Zusammengesetzte Zuweisung
Neben dem »normalen« Zuweisungsoperator verfügt ActionScript über zusammengesetzte Zuweisungsoperatoren. Diese Operatoren führen eine Berechnung durch und weisen das Ergebnis automatisch einer Variablen oder Eigenschaft zu. Das Skript zwischenergebnis += 2; ist z.B. eine verkürzte Schreibweise für zwischenergebnis = zwischenergebnis + 2; ### 8.2.1 ++ (Prä- und Post-Inkrement) Der Operator ++ erhöht einen Wert um 1.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 4 zur Verfügung.
| Syntax:
>     ausdruck++
>     ++ausdruck
| Parameter:
Als Ausdruck darf eine Zahl angegeben werden.
| Ergebnis:
| Die erste Variante dieses Ausdrucks wertet zuerst den Ausdruck aus und erhöht ihn dann um eins. Die zweite Variante erhöht den Ausdruck erst um eins und wertet ihn dann aus.
| Beispiel:
| Abhängig davon, ob Sie ++ vor oder nach einem Operanden wie z.B. einer Variablen platzieren, ändert sich das Verhalten. Das Skript
>     punkte = 100;
>     trace(punkte++);
>     trace(punkte);
| gibt zuerst 100 und dann 101 aus. Das Skript
>     punkte = 100;
>     trace(++punkte);
>     trace(punkte);
| hingegen gibt schon beim ersten mal 101 und dann erneut 101 aus, da in diesem Fall zuerst erhöht und dann ausgewertet wird.
### 8.2.2 -- (Prä- und Post-Dekrement) Der Operator -- verringert einen Wert um 1.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 4 zur Verfügung.
| Syntax:
>     ausdruck--
>     --ausdruck
| Parameter:
Als Ausdruck darf eine Zahl angegeben werden.
| Ergebnis:
| Die erste Variante dieses Ausdrucks wertet zuerst den Ausdruck aus und verringert ihn dann um eins. Die zweite Variante verringert den Ausdruck erst um eins und wertet ihn dann aus.
| Beispiel:
| Abhängig davon, ob Sie -- vor oder nach einem Operanden wie z.B. einer Variablen platzieren, ändert sich das Verhalten. Das Skript
>     punkte = 100;
>     trace(punkte--);
>     trace(punkte);
| gibt zuerst 100 und dann 99 aus. Das Skript
>     punkte = 100;
>     trace(--punkte);
>     trace(punkte);
| hingegen gibt schon beim ersten Mal 99 und dann erneut 99 aus, da in diesem Fall zuerst verringert und dann ausgewertet wird.
### 8.2.3 = (Zuweisung) Der Operator = weist einer Variablen einen Wert zu.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 4 zur Verfügung. In Flash 4 wurde das = auch als Gleichheitsoperator eingesetzt. Für die Gleichheit verwendet ActionScript seit Flash 5 das doppelte Gleich ==.
| Syntax:
>     bezeichner = ausdruck
| Parameter:
| Der Bezeichner steht für eine Variable oder Eigenschaft von einem beliebigen Typ. Als Ausdruck darf ebenfalls ein beliebiger Wert angegeben werden, der den Datentyp der Variablen oder der Eigenschaft anschließend festlegt.
| Ergebnis:
| Der Ausdruck auf der rechten Seite wird berechnet und dann im Bezeichner auf der linken Seite gespeichert.
| Beispiel:
>     // Zahl
>     entfernung = Math.sqrt(deltax*deltax+deltay*deltay);
>     // Zeichenkette
>     adresse = plz+ort;
>     // Wahrheitswert
>     rentner = alter>65;
>     // Objekt (hier Datum)
>     heute = new Date();
>     // Funktion
>     ermittleBogenmass = function (grad) {
>        return (grad/180*Math.PI);
>     };
### 8.2.4 *= (Multiplikationszuweisung) Der Operator *= multipliziert eine Variable mit einem Wert und weist das Ergebnis der Variablen anschließend zu.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 4 zur Verfügung.
| Syntax:
>     bezeichner *= ausdruck
| Parameter:
| Der Bezeichner steht für eine Variable oder Eigenschaft mit einer Zahl. Als Ausdruck wird ebenfalls eine Zahl erwartet.
| Ergebnis:
| Der Ausdruck auf der rechten Seite wird berechnet und dann mit dem Bezeichner auf der linken Seite multipliziert und anschließend in diesem Bezeichner abgelegt. Dieser Operator ermöglicht eine verkürzte Schreibweise von bezeichner = bezeichner * ausdruck.
| Beispiel:
>     // Verdopple den Punktestand
>     bonus = 2;
>     punkte *= bonus;
### 8.2.5 /= (Divisionszuweisung) Der Operator /= dividiert eine Variable mit einem Wert und weist das Ergebnis der Variablen anschließend zu.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 4 zur Verfügung.
| Syntax:
>     bezeichner /= ausdruck
| Parameter:
| Der Bezeichner steht für eine Variable oder Eigenschaft mit einer Zahl. Als Ausdruck wird ebenfalls eine Zahl erwartet.
| Ergebnis:
| Der Ausdruck auf der rechten Seite wird berechnet und dann mit dem Bezeichner auf der linken Seite multipliziert und anschließend in diesem Bezeichner abgelegt. Dieser Operator ermöglicht eine verkürzte Schreibweise von bezeichner = bezeichner / ausdruck.
| Beispiel:
>     // Halbiere die Größe
>     movieClipInstanz._xscale /= 2;
>     movieClipInstanz._yscale /= 2;
### 8.2.6 %= (Modulozuweisung) Der Operator %= dividiert eine Variable mit einem Wert und weist den Rest der Variablen anschließend zu. Dieser Operator ist immer dann nützlich, wenn das Ergebnis einer Berechnung nur in einem festgelegten Bereich liegen darf.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 4 zur Verfügung.
| Syntax:
>     bezeichner %= ausdruck
| Parameter:
| Der Bezeichner steht für eine Variable oder Eigenschaft mit einer Zahl. Als Ausdruck wird ebenfalls eine Zahl erwartet.
| Ergebnis:
| Der Ausdruck auf der rechten Seite wird berechnet. Anschließend erhält der Bezeichner den Rest einer Division des Bezeichners durch den Ausdruck. Dieser Operator ermöglicht eine verkürzte Schreibweise von bezeichner = bezeichner % ausdruck.
| Beispiel:
>     // Bestimme den Winkel zwischen 0 und 359 Grad
>     movieClipInstanz._rotation %= 360;
>     // Bestimme die Position zwischen 0 und 549 Pixel
>     movieClipInstanz._x %= 550;
>     // Ist der Wert gerade (0) oder ungerade (1)?
>     abwechselnd %= 2;
### 8.2.7 += (Additionszuweisung) Der Operator += addiert eine Variable mit einem Wert und weist das Ergebnis der Variablen anschließend zu.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 4 zur Verfügung.
| Syntax:
>     bezeichner += ausdruck
| Parameter:
| Der Bezeichner steht für eine Variable oder Eigenschaft mit einer Zahl. Als Ausdruck wird ebenfalls eine Zahl erwartet.
| Ergebnis:
| Der Ausdruck auf der rechten Seite wird berechnet und dann mit dem Wert des Bezeichners addiert. Anschließend erhält der Bezeichner das Ergebnis. Dieser Operator ermöglicht eine verkürzte Schreibweise von bezeichner = bezeichner + ausdruck.
| Beispiel:
>     // Erhöhe Kinderzahl
>     kinder += 1;
### 8.2.8 -= (Subtraktionszuweisung) Der Operator -= subtrahiert einen Wert von einer Variablen und weist das Ergebnis der Variable anschließend zu.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 4 zur Verfügung.
| Syntax:
>     bezeichner -= ausdruck
| Parameter:
| Der Bezeichner steht für eine Variable oder Eigenschaft mit einer Zahl. Als Ausdruck wird ebenfalls eine Zahl erwartet.
| Ergebnis:
| Der Ausdruck auf der rechten Seite wird berechnet und dann von dem Wert des Bezeichners subtrahiert. Anschließend erhält der Bezeichner das Ergebnis. Dieser Operator ermöglicht eine verkürzte Schreibweise von bezeichner = bezeichner – ausdruck.
| Beispiel:
>     // Verringere Leben (bei Katzen maximal siebenmal)
>     leben -= 1;
### 8.2.9 &= (bitweise Und-Zuweisung) Der Operator &= verknüpft einen Wert und eine Variable mit dem bitweisen Und und weist das Ergebnis der Variablen anschließend zu.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
| Syntax:
>     bezeichner &= ausdruck
| Parameter:
| Der Bezeichner steht für eine Variable oder Eigenschaft mit einer Zahl. Als Ausdruck wird ebenfalls eine Zahl erwartet.
| Ergebnis:
| Der Ausdruck auf der rechten Seite wird berechnet und mit dem Wert des Bezeichners bitweise durch ein Und verknüpft. Anschließend erhält der Bezeichner das Ergebnis. Dieser Operator ermöglicht eine verkürzte Schreibweise von bezeichner = bezeichner & ausdruck.
| Beispiel:
>     // Aktiviere Schalter 1 und 3
>     schalter = 1*4+0*2+1*1; // entspricht binär 101
>     // Deaktiviere alle Schalter außer Schalter 3
>     schalter &= 1*4+0*2+0*1; // entspricht binär 100
>     // Schalter hat jetzt das Ergebnis binär 100 (dezimal 4)
>     trace(schalter);
### 8.2.10 |= (bitweise Oder-Zuweisung) Der Operator |= verknüpft einen Wert und eine Variable mit dem bitweisen Oder und weist das Ergebnis der Variablen anschließend zu.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
| Syntax:
>     bezeichner |= ausdruck
| Parameter:
| Der Bezeichner steht für eine Variable oder Eigenschaft mit einer Zahl. Als Ausdruck wird ebenfalls eine Zahl erwartet.
| Ergebnis:
| Der Ausdruck auf der rechten Seite wird berechnet und mit dem Wert des Bezeichners bitweise durch ein Oder verknüpft. Anschließend erhält der Bezeichner das Ergebnis. Dieser Operator ermöglicht eine verkürzte Schreibweise von bezeichner = bezeichner | ausdruck.
| Beispiel:
>     // Aktiviere Schalter 1 und 3
>     schalter = 1*4 + 0*2 + 1*1; // entspricht binär 101
>     // Aktiviere Schalter 2
>     schalter |= 0*4 + 1*2 + 0*1; // entspricht binär 010
>     // Schalter hat jetzt das Ergebnis binär 111 (dezimal 7)
>     trace(schalter);
### 8.2.11 ^= (bitweise XOder-Zuweisung) Der Operator ^= verknüpft einen Wert und eine Variable mit dem bitweisen XOder (entweder oder) und weist das Ergebnis der Variablen anschließend zu.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
| Syntax:
>     bezeichner ^= ausdruck
| Parameter:
| Der Bezeichner steht für eine Variable oder Eigenschaft mit einer Zahl. Als Ausdruck wird ebenfalls eine Zahl erwartet.
| Ergebnis:
| Der Ausdruck auf der rechten Seite wird berechnet und mit dem Wert des Bezeichners bitweise durch ein XOder verknüpft. Anschließend erhält der Bezeichner das Ergebnis. Dieser Operator ermöglicht eine verkürzte Schreibweise von bezeichner = bezeichner ^ ausdruck.
| Beispiel:
>     // Aktiviere Schalter 1 und 3
>     schalter = 1*4 + 0*2 + 1*1; // entspricht binär 101
>     // Aktiviere alle Schalter außer Schalter 3
>     schalter ^= 1*4 + 1*2 + 1*1; // entspricht binär 111
>     // Schalter hat jetzt das Ergebnis binär 010 (dezimal 2)
>     trace(schalter);
### 8.2.12 <<= (bitweise Verschiebung nach links und Zuweisung) Der Operator <<= verschiebt einen Wert bitweise nach links. Dies entspricht einer Multiplikation mit einem Vielfachen von zwei. Das Ergebnis wird anschließend einer Variablen zugewiesen.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
| Syntax:
>     bezeichner <<= ausdruck
| Parameter:
| Der Bezeichner steht für eine Variable oder Eigenschaft mit einer Zahl. Als Ausdruck wird eine Zahl zwischen 0 und 31 erwartet.
| Ergebnis:
| Der Ausdruck auf der rechten Seite wird berechnet und verschiebt den Wert des Bezeichners bitweise nach links. Anschließend erhält der Bezeichner das Ergebnis. Dieser Operator ermöglicht eine verkürzte Schreibweise von bezeichner = bezeichner << ausdruck.
| Beispiel:
>     // Aktiviere Schalter 2
>     schalter = 0*4 + 1*2 + 0*1; // entspricht binär 010
>     // Verschiebe Bits um eine Stelle
>     schalter <<= 1;
>     // Schalter hat jetzt das Ergebnis binär 100 (dezimal 4)
>     trace(schalter);
### 8.2.13 >>= (bitweise Verschiebung nach rechts und Zuweisung) Der Operator >>= verschiebt einen Wert bitweise nach rechts. Dies entspricht einer Division durch ein Vielfaches von zwei. Das Ergebnis wird anschließend einer Variablen zugewiesen.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
| Syntax:
>     bezeichner >>= ausdruck
| Parameter:
| Der Bezeichner steht für eine Variable oder Eigenschaft mit einer Zahl. Als Ausdruck wird eine Zahl zwischen 0 und 31 erwartet.
| Ergebnis:
| Der Ausdruck auf der rechten Seite wird berechnet und verschiebt den Wert des Bezeichners bitweise nach rechts. Anschließend erhält der Bezeichner das Ergebnis. Dieser Operator ermöglicht eine verkürzte Schreibweise von bezeichner = bezeichner >> ausdruck.
| Beispiel:
>     // Aktiviere Schalter 2
>     schalter = 0*4 + 1*2 + 0*1; // entspricht binär 010
>     // Verschiebe Bits um eine Stelle
>     schalter >>= 1;
>     // Schalter hat jetzt das Ergebnis binär 001 (dezimal 1)
>     trace(schalter);
### 8.2.14 >>>= (vorzeichenlose bitweise Verschiebung nach rechts und Zuweisung) Der Operator >>>= verschiebt einen Wert bitweise nach rechts, ohne dabei auf ein Vorzeichen zu achten. Dies entspricht einer Division durch ein Vielfaches von zwei. Das Ergebnis wird anschließend einer Variablen zugewiesen.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
| Syntax:
>     bezeichner >>>= ausdruck
| Parameter:
| Der Bezeichner steht für eine Variable oder Eigenschaft mit einer Zahl. Als Ausdruck wird eine Zahl zwischen 0 und 31 erwartet.
| Ergebnis:
| Der Ausdruck auf der rechten Seite wird berechnet und verschiebt den Wert des Bezeichners bitweise nach rechts. Anschließend erhält der Bezeichner das Ergebnis. Dieser Operator ermöglicht eine verkürzte Schreibweise von bezeichner = bezeichner >>> ausdruck.
| Beispiel:
>     // Aktiviere das 32. Bit (dieses steht für das Vorzeichen)
>     // 10000000 00000000 00000000 00000000
>     schalter = Math.pow(2,31);
>     // Verschiebe Bits um eine Stelle nach rechts (behalte Vorzeichen bei)
>     schalter >>= 1;
>     // Ergebnis ist 11000000 00000000 00000000 00000000
>     trace(-Math.pow(2,30));
>     trace(schalter);
>     // Aktiviere das 32. Bit (dieses steht für das Vorzeichen)
>     // 10000000 00000000 00000000 00000000
>     schalter = Math.pow(2,31);
>     // Verschiebe Bits um eine Stelle nach rechts
>     schalter >>>= 1;
>     // Ergebnis ist 01000000 00000000 00000000 00000000
>     trace(Math.pow(2,30));
>     trace(schalter);
<< 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