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.6 Bitweise Operatoren Die bitweisen Operatoren sind für binäre Berechnungen nützlich. Alle Daten in einem Computer werden letztendlich binär gespeichert und bestehen nur aus Nullen und Einsen (Dualzahlen bzw. Binärzahlen). Normalerweise kommen Sie in Ihren Projekten nur sehr selten mit dieser Darstellung der Daten in Berührung. Die bitweise Verarbeitung macht immer dann Sinn, wenn für die Verwaltung von Daten viele Wahrheitswerte notwendig wären oder wenn sich Berechnungen durch Bitverschiebungen optimieren lassen:
    // Zustände über Wahrheitswerte speichern
    umschalt = Key.isDown(Key.SHIFT);
    strg = Key.isDown(Key.CONTROL);
    // Zustände bitweise in einer Variablen verwalten
    // Erstes Bit steht für die Umschalttaste und das zweite für Strg
    tasten = 1*Key.isDown(Key.SHIFT)+2*Key.isDown(Key.CONTROL);
    // Normale Multiplikation mit 2
    ergebnis = 2*99;
    // Multiplikation mit 2 durch Bitverschiebung
    ergebnis = 99 << 1;
##### Tastenkürzel verwalten Das folgende Beispiel in Form einer ActionScript 2.0-Klasse beschreibt ebenfalls eine kompakte Möglichkeit, mit Hilfe von binär dargestellten Werten Tastenkürzel zu verwalten. Der Vorteil ist hier, dass für verschiedenen Tasten nur eine einzige Variable benötigt wird (Modifiers), deren einzelne Stellen (Bits) für jeweils eine mögliche Taste stehen, die frei kombiniert werden können:
    // Verwendung: my_shortcut = new Shortcut (78, [Shortcut.CTRL, Shortcut.SHIFT]);
    class Shortcut {
       /**
       * Statische Variablen für Modifier-Tasten
       */
       // 00101
       public static var SHIFT = 5;
       // 01001
       public static var CTRL = 9;
       // In Flash nur als ALT GR verfügbar (keycode 18)
       // 10001
       public static var ALT = 17;
       /**
       * Öffentliche Variablen
       */
       // Taste (immer nur eine erlaubt)
       public var key:Number = null;
       // Modifier-Tasten (Kombination erlaubt)
       public var modifiers:Number = null;
       //
       function Shortcut(keyCode:Number, modifier_list:Array)
       {
          // Initialisiere mit Array für die Modifier-Tasten
          init(keyCode, modifier_list);
       }
       private function init(keyCode:Number, modifier_list:Array)
       {
          // modifier_list ist ein Array aus Shortcut.SHIFT, Shortcut.CTRL oder Shortcut.ALT (vermeide ALT)
          key = keyCode;
          modifiers = getModifierFlags(modifier_list);
       }
       private function getModifierFlags(modifier_list:Array):Number
       {
          var flags:Number;
          var i:Number;
          //
          flags = 1;
          for (i in modifier_list)
          {
             flags = flags | modifier_list[i];
          }
          return flags;
       }
    }
### 8.6.1 ~ (Bit-Komplement) Der einstellige Operator ~ berechnet das Komplement eines binären Ausdrucks. Das logische Nicht beschränkt sich bei der Anwendung immer nur auf eine Bedingung. Um nun mehrere Bedingungen nicht in vielen Einzelschritten negieren zu müssen, bietet sich die bitweise Verarbeitung an, die das »in einem Rutsch« erledigt.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
| Syntax:
>     ~ausdruck
| Parameter:
| Der Ausdruck steht für einen beliebigen Datentyp.
| Ergebnis:
| ActionScript wandelt den Ausdruck in eine 32-Bit-Zahl um und gibt das Komplement zurück.
### 8.6.2 << (bitweise Verschiebung nach links) Der Operator << verschiebt den binären Wert eines Ausdrucks bitweise nach links. Dies entspricht einer Multiplikation mit einem Vielfachen von zwei.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
| Syntax:
>     ausdruck << verschiebung
| Parameter:
| Der Ausdruck steht für eine Zahl. Als Verschiebung wird eine Zahl zwischen 0 und 31 erwartet.
| Ergebnis:
| Der Wert des Ausdrucks wird in eine 32-Bit-Zahl konvertiert und um die angegebenen Bits nach links verschoben.
| Beispiel:
>     wert = 16;
>     // Verschiebe Bits
>     trace(wert << 2);
>     // Ergebnis ist 64
### 8.6.3 >> (bitweise Verschiebung nach rechts) Der Operator >> verschiebt den binären Wert eines Ausdrucks bitweise nach rechts. Dies entspricht einer Division mit einem Vielfachen von zwei.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
| Syntax:
>     ausdruck >> verschiebung
| Parameter:
| Der Ausdruck steht für eine Zahl. Als Verschiebung wird eine Zahl zwischen 0 und 31 erwartet.
| Ergebnis:
| Der Wert des Ausdrucks wird in eine 32-Bit-Zahl konvertiert und um die angegebenen Bits nach rechts verschoben.
| Beispiel:
>     wert = 16;
>     // Verschiebe Bits
>     trace(wert >> 2);
>     // Ergebnis ist 4
### 8.6.4 >>> (vorzeichenlose bitweise Verschiebung nach rechts) Der Operator >>> verschiebt einen Wert bitweise nach rechts, ohne dabei auf ein Vorzeichen zu achten. Dies entspricht einer Division durch ein Vielfaches von zwei.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
| Syntax:
>     ausdruck >>> verschiebung
| Parameter:
| Der Ausdruck steht für eine Zahl. Als Verschiebung wird eine Zahl zwischen 0 und 31 erwartet.
| Ergebnis:
| Der Wert des Ausdrucks wird in eine 32-Bit-Zahl konvertiert und um die angegebenen Bits nach rechts verschoben, ohne dabei das Vorzeichen (das 32. Bit) beizubehalten.
| 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 = 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 = schalter >>> 1;
>     // Ergebnis ist 01000000 00000000 00000000 00000000
>     trace(Math.pow(2,30));
>     trace(schalter);
### 8.6.5 & (bitweises Und, String-Verknüpfung in Flash4) Der Operator & verknüpft die binäre Darstellung zweier Ausdrücke bitweise mit einem Und. In der Flash 4-Entwicklungsumgebung wurde dieser Operator für die Verknüpfung von Zeichenketten verwendet.
| Bemerkung:
| Dieser Operator steht in der Flash 4-Entwicklungsumgebung für die Verknüpfung von Zeichenketten zur Verfügung. Verwenden Sie ab Flash 5 stattdessen den +-Operator.
| Dieser Operator steht seit dem Flash Player 5 für die bitweise Und-Verknüpfung zur Verfügung. Die Arbeitsweise dieses Operators ist dem logischen Und (!) ähnlich.
| Syntax:
>     ausdruck & ausdruck
| Parameter:
Die Ausdrücke stehen für beliebige Datentypen.
| Ergebnis:
| ActionScript wandelt die Ausdrücke in eine 32-Bit-Zahl um und gibt das bitweise Und zurück.

Tabelle 8.9 Und-Tabelle (bitweise)

Ausdruck 1 | Ausdruck 2 | Ergebnis
1 | 1 | 1
1 | 0 | 0
0 | 1 | 0
0 | 0 | 0
| Beispiel:
>     // Erzeuge binäre Zahlen
>     a = parseInt("0101", 2);
>     b = parseInt("1001", 2);
>     // Bitweises Und
>     trace(a & b);
>     // Ergebnis ist: 0001 (Dezimal 1)
### 8.6.6 ^ (bitweises XOder) Der Operator ^ verknüpft die binäre Darstellung zweier Ausdrücke bitweise mit einem XOder (Entweder-Oder).
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
| Syntax:
>     ausdruck ^ ausdruck
| Parameter:
Die Ausdrücke stehen für beliebige Datentypen.
| Ergebnis:
| ActionScript wandelt die Ausdrücke in eine 32-Bit-Zahl um und gibt das bitweise XOder zurück.

Tabelle 8.10 XOder-Tabelle (bitweise)

Ausdruck 1 | Ausdruck 2 | Ergebnis
1 | 1 | 0
1 | 0 | 1
0 | 1 | 1
0 | 0 | 0
| Beispiel:
>     // Erzeuge binäre Zahlen
>     a = parseInt("0101", 2);
>     b = parseInt("1001", 2);
>     // Bitweises XOder
>     trace(a ^ b);
>     // Ergebnis ist: 1100 (Dezimal 12)
### 8.6.7 | (bitweises Oder) Der Operator | verknüpft die binäre Darstellung zweier Ausdrücke bitweise mit einem Oder.
| Bemerkung:
| Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
| Syntax:
>     ausdruck | ausdruck
| Parameter:
Die Ausdrücke stehen für beliebige Datentypen.
| Ergebnis:
| ActionScript wandelt die Ausdrücke in eine 32-Bit-Zahl um und gibt das bitweise Oder zurück.

Tabelle 8.11 Oder-Tabelle (bitweise)

Ausdruck 1 | Ausdruck 2 | Ergebnis
1 | 1 | 1
1 | 0 | 1
0 | 1 | 1
0 | 0 | 0
| Beispiel:
>     // Erzeuge binäre Zahlen
>     a = parseInt("0101", 2);
>     b = parseInt("1001", 2);
>     // Bitweises Oder
>     trace(a | b);
>     // Ergebnis ist: 1101 (Dezimal 13)
<< 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