8.3 Arithmetische Operatoren
Neben mehreren Operatoren für die Zuweisung bietet Flash verschiedene Rechenarten wie Plus und Minus. Einige der arithmetischen Operatoren besitzen mehrere Funktionen. Das Plus dient zum Beispiel für die Addition von zwei Operanden, der Zusammenfügung zweier Zeichenketten (Konkatenation) oder als Vorzeichen einer positiven Zahl.
Tabelle 8.3
Die wichtigsten mathematischen Operatoren
Operator
|
Beschreibung
|
*
|
Multiplikation
|
/
|
Division
|
%
|
Modulo (Rest einer Division)
|
+
|
Addition oder Zeichenkettenverkettung
|
-
|
Subtraktion
|
8.3.1 + (Addition, Konkatenation und Plus-Vorzeichen)
Der Operator + addiert zwei Zahlen miteinander oder verbindet zwei Zeichenketten. Außerdem dient dieser Operator als Vorzeichen für positive Zahlen.
|
Bemerkung: |
|
Dieser Operator steht seit dem Flash Player 4 als Vorzeichen und für die Addition zur Verfügung. Für die Verknüpfung von Zeichenketten müssen Sie für Flash-Anwendungen der Version 4 den add-Operator einsetzen. |
|
|
|
Syntax: |
ausdruck + ausdruck
+ausdruck
|
Parameter: |
|
Im ersten Fall stehen die Ausdrücke für eine Zahl oder Zeichenkette. Im zweiten Fall wird eine Zahl erwartet. |
|
|
|
Ergebnis: |
|
Im ersten Fall untersucht ActionScript, ob einer der beiden Operanden eine Zeichenkette als Wert liefert. In diesem Fall werden die Zeichenketten aneinander gehängt. Andernfalls werden beide Ausdrücke in eine Zahl konvertiert und addiert. |
|
|
|
Im zweiten Fall wird der Operand in eine Zahl konvertiert. Denn es gilt: +ausdruck entspricht Number(ausdruck). |
|
|
|
Beispiel: |
// Erhöhe Kinderzahl
kinder = kinder + 1;
// Kombiniere mehrere Zeichenketten
name = titel + " " + vorname + " " + nachname;
8.3.2 - (Subtraktion und Minus-Vorzeichen)
Der Operator – subtrahiert zwei Zahlen voneinander. Außerdem dient dieser Operator als Vorzeichen für negative Zahlen.
|
Bemerkung: |
|
Dieser Operator steht seit dem Flash Player 4 als Vorzeichen und für die Subtraktion zur Verfügung. |
|
|
|
Syntax: |
ausdruck – ausdruck
-ausdruck
|
Parameter: |
Im ersten und zweiten Fall stehen die Ausdrücke für eine Zahl.
|
Ergebnis: |
|
In beiden Fällen werden die Ausdrücke in eine Zahl konvertiert. Im ersten Fall wird der zweite Ausdruck vom ersten abgezogen. Im zweiten Fall wird das Vorzeichen des Ausdrucks umgekehrt. |
|
|
|
Beispiel: |
// Verringere Kinderzahl
kinder = kinder – 1;
// Wechsle die Richtung
schrittweite = -schrittweite;
8.3.3 * (Multiplikation)
Der Operator * multipliziert zwei Zahlen.
|
Bemerkung: |
|
Dieser Operator steht seit dem Flash Player 4 zur Verfügung. |
|
|
|
Syntax: |
ausdruck * ausdruck
|
Parameter: |
Die Ausdrücke stehen für Zahlen.
|
Ergebnis: |
|
ActionScript konvertiert die Ausdrücke in Zahlen und multipliziert sie miteinander. |
|
|
|
Beispiel: |
// Berechne neue Position
meinMovieclip._x = schrittweite * schritte;
8.3.4 / (Division)
Der Operator / dividiert zwei Zahlen.
|
Bemerkung: |
|
Dieser Operator steht seit dem Flash Player 4 zur Verfügung. |
|
|
|
Syntax: |
ausdruck / ausdruck
|
Parameter: |
Die Ausdrücke stehen für Zahlen.
|
Ergebnis: |
|
ActionScript konvertiert die Ausdrücke in Zahlen und dividiert den ersten Ausdruck durch den zweiten. Die Division einer positiven Zahl durch null ergibt unendlich (Infinity), eine negative Zahl durch null erzeugt – unendlich (-Infinity). Null durch null ergibt NaN (not a number). |
|
|
|
Beispiel: |
// Berechne Prozent
prozent = anzahl/maximum*100;
8.3.5 % (Modulo)
Der Operator % ermittelt das Ergebnis der Division zweier Zahlen.
|
Bemerkung: |
|
Dieser Operator steht seit dem Flash Player 4 zur Verfügung. Für Anwendungen im Flash Player 4-Format muss er aber simuliert werden, weshalb er unter Umständen dann nicht so genau arbeitet. |
|
|
|
Syntax: |
ausdruck % ausdruck
|
Parameter: |
Die Ausdrücke stehen für Zahlen.
|
Ergebnis: |
|
ActionScript konvertiert die Ausdrücke in Zahlen und dividiert den ersten Ausdruck durch den zweiten. Der Rest der Division wird als Ergebnis zurückgegeben. |
|
|
|
Beispiel: |
|
Das folgende Beispiel bewirkt, dass eine Variable immer zwischen -549 und 549 liegt. Sollte der Wert einmal größer als 549 oder kleiner als -549 sein, dann beschränkt das Modulo den Wert wieder auf diesen Bereich. Denn z.B. 600% 550 liefert mit dem Ergebnis 50 den überschüssigen Anteil, der wieder im Bereich liegen muss. |
|
|
// Beschränke Variable
var schranke = 550;
neuerWert = alterWert % schranke;
Wofür Modulo?
Das Modulo ist einer der meist unterschätzten Operatoren. Denn gerade immer dann, wenn ein Wert sich nur innerhalb eines bestimmten Bereichs befinden darf, spielt das Modulo seine ganze Stärke aus und bietet sich als Alternative zu if-Blöcken an.
Falls z.B. ein Winkel berechnet werden soll, der bekanntlich ja nur 360 verschiedene Grade umfassen kann, dann hilft Modulo, die Berechnung auf Werte zwsichen -180 und +180 zu beschränken und so nur diese 360 Möglichkeiten zuzulassen:
winkel = ausdruck%180;
Dasselbe Prinzip kann eingesetzt werden, falls z.B. eine Position nur in einem vorgegebenen Bereich liegen darf:
// Positioniere immer auf der Bühne
position = (position+10)%Stage.width;
|