Datentypen

Ein Datentyp beschreibt die Art der Information, die eine Variable enthalten kann, bzw. welche Art von Werten in dieser Variable gespeichert werden können. Da Informationen im Computer immer im Binärsystem gespeichert werden, muss der Computer den Datentyp für eine bestimmte Bitsequenz kennen, damit er das Muster aus Nullen und Einsen richtig interpretieren kann. Der Datentyp legt ausserdem fest, wie viel Speicherplatz (Anzahl an Bits) benötigt wird, um eine solche Variable zu speichern. In ActionScript gibt es zwei Arten von Datentypen. Zum einen die Grunddatentypen, auch elementare Datentypen genannt und zum anderen die Referenzdatentypen:
 * ~ **//Datentyp//** ||~ **//Beschreibung//** ||
 * String || Zeichenfolge (Buchstaben, Ziffern, Sonderzeichen) ||
 * Number || ganze Zahlen, Fließkommazahlen ||
 * boolean || Wahrheitswerte (true und false) ||
 * Object || Ein Objekt kann verschiedene Eigenschaften (Daten) & Methoden (Fähigkeiten) zusammenfassen ||
 * MovieClip || das wichtigste Objekt in ActionScript, enthält eine Zeitleiste ||
 * null || kann jeder Variablen zugeordnet werden, bedeutet so viel wie "gibt es nicht" ||
 * undefined || kann jeder Variablen zugeordnet werden, bedeutet so viel wie "gibt es, hat aber (noch) keinen Wert" ||
 * Array || Ein Array ist ein Objekt, das mehrere andere Objekte/Variablen beliebiger Datentypen zusammenfassen kann. Ein Array ist so was wie ein Regal für Variablen ||
 * Grunddatentypen enthalten den tatsächlichen Wert des von ihnen dargestellten Elements. Zu ihnen zählen String, Zahlen, Boolean, null und undefined.
 * Referenzdatentypen enthalten einen Verweis auf den tatsächlichen Wert des von ihnen dargestellten Elements. Zu ihnen gehören MovieClips, TextFelder, Schaltflächen, Arrays, ... allgemeiner: Objekte.

Strings
Ein String ist eine Zeichenkette, die aus Buchstaben, Ziffern und Sonderzeichen bestehen kann. Zur Kennzeichnung wird ein String von doppelten Anführungszeichen eingeschlossen. code format="actionscript" var meinString:String = “text“; //einfache Anführungszeichen gehen meist auch var meinString:String = ““; //es gibt auch leere Strings, nicht zu Verwechseln mit null oder undefined code Zu Problemen kann es kommen, wenn in einem String Zeichen benötigt werden, die schon eine Bedeutung haben (z.B. die Anführungszeichen, mit denen der String als solcher gekennzeichnet wird). In solchen Fällen benutzt man den Backslash, um die besondere Funktion des Zeichens zu entwerten (das nennt man Escape-Sequenz). code format="actionscript" var meinString:String = “Er sagte: \“Ich bin\’s\““; /*hier wollen wir die Anführungszeichen innerhalb des Strings ignorieren*/ var meinString:String = “Bilder\\test.gif“; //gilt auch für Backslash selbst, Ergebnis: Bilder\test.gif code Bei Zeichen, die bereits eine Bedeutung haben wird also durch den Backslash die Bedeutung ausser Kraft gesetzt. Umgekehrt kann ein Backslash in verbindung mit einem normalen Buchstaben ein Sonderzeichen representieren, z.B.: code format="actionscript" trace("Name\nName"); // ein \n innerhalb eines Strings fügt einen Zeilenumbruch ein, d.h. danach beginnt eine neue Zeile trace("Name\tName"); // ein \t innerhalb eines Strings fügt ein Tabulatorzeichen ein code Häufig will man mehrere Strings zu einem zusammenhängen (= konkatenieren), dafür gibt es zwei Methoden: code format="actionscript" var string1:String = “ActionScript “; //auch ein Leerschlag ist ein Zeichen in einem String var string2:String = “macht Spaß“; var string_gesamt:String = string1.concat(string2); //sauberer, benutzt die concat Methode von String var string_gesamt:String = string1 + string2; //Kurzform code

Zahlen
In ActionScript gibt es einen Datentyp für alle Arten von Zahlen (number). Es wird meist nicht zwischen ganzzahligen Werten (int, uint) und Fließkommawerten (float) unterschieden. code format="actionscript" var zahl:Number = 1000; //ganzzahliger Wert var zahl:Number = 999.99; //Fließkommawert, Dezimaltrennzeichen ist ein Punkt!! var zahl:Number = 0x22ff; //Hexadezimalwert, Farben werden oft in diesem Format angegeben var zahl:Number = 999.99e2; //Fließkommawert in Exponentialschreibweise, bedeutet 999.99 * 10^2 -> 99999 code Ausserdem gibt es zwei besondere Zahlenwerte: code format="actionscript" var zahl:Number = NaN; // Not-a-Number, steht für eine nicht bestimmbare Zahl, z.B. als Ergebnis einer Division durch Null var zahl:Number = infinity;  //Unendlich, d.h. grösser als die grösste in AS speicherbare Zahl var zahl:Number = -infinity; //kleiner als die kleinste speicherbare Zahl code

Boolean
Der Datentyp boolean stellt einen Wahrheitswert dar, und hat nur zwei zulässige Werte: true (wahr) und false (falsch). code format="actionscript" var isCorrect:Boolean = true; //üblicherweise beginnen die Namen von boolschen Variablen mit is var isCorrect:Boolean = 0;   //statt true/false wird auch 1/0 akzeptiert var isFalse:Boolean = !isCorrect; /*das Ausrufezeichen bedeutet "nicht", es verwandelt also einen Wahrheitswert in sein Gegenteil*/ var isEqual:Boolean = 1 == 2; //das Ergebnis eines Vergleichs ist ein Boolscher Wert code

Objekte
Ein Objekt ist die Grundform eines komplexen (Referenz-)Datentyps, ein Objekt ermöglicht es, verschiedene Variablen und Funktionen zu definieren und unter einem Namen zu speichern. Was das Objekt weiss, wird als Eigenschaften des Objekts bezeichnet (eigentlich sind dies einfach Instanzvariablen). Handelt es sich bei einer solchen Eigenschaft um eine Funktion, so bezeichnet man diese als Methode des Objekts. Um die Eigenschaften oder Methoden eines Objekts aufzurufen verwendet man die Punktsyntax. code format="actionscript" var einObjekt:Object = new Object; //ein neues (Default-)Objekt erschaffen einObjekt.x; //die Eigenschaft x, d.h. die x-Koordinate des Objekts einObjekt.toString; //Methoden erkennt man an den Klammern einObjekt.drehe(45); //diese Methode erfordert einen Übergabewert einObjekt.wert1 = 7; //existierenden Objekten können neue Eigenschaften zugrfügt werden code

MovieClip
MovieClips sind der wichtigste Objekt-Datentyp in ActionScript (AS2, in AS3 teilweise ersetzt durch die leichtgewichtige Variante //Sprite//), fast alle Objekte in Actionscript sind MovieClips, die evtl. noch um bestimmte Eigenschaften oder Methoden erweitert wurden (z.B. Schaltflächen). Das Besondere an MovieClips ist, dass sie auch ihr eigenes Aussehen (Grafikelemente & Bilder) und ihre eigene Zeitleiste beinhalten und verwalten. Details finden sie auf der Seite MovieClips.

Arrays
Mit Arrays kann man mehrere Elemente einfacherer Datentypen zusammenfassen. Details finden sie auf der Seite Arrays.

Weitere Informationen

 * AS3 Datentypen (Grundlegende Datentypen)
 * AS3 Displayobjekte (Objektklassen für Inhalte, die am Bildschirm dargestellt werden sollen)
 * AS2 Datentypen Liste und Details zu allen Datentypen