Dieser Beitrag ist für Profis und Fortgeschrittene im Bereich Programmierung gedacht. Er gibt einen groben Überblick über die Syntax, Notation und Aufbau der Skriptsprache Actionscript 3. Weitere Informationen, die Dokumentation und natürlich den Link zur API findet hier:
Die Übersicht findet ihr nach dem Break!
// Variable deklarieren var name:typ; // Wertezuweisung var name:typ = wert;
Name | Inhalt | Wertebereich | Bit | Standardwert | Beispiel Daten |
String | Text | – | 16 Bit | null | var i:String = “Hallo Welt”; |
Number | Numerisch (Fließkomma) |
-2^53 bis 2^53 | 52 Bit | NaN | var i:Number = 12.5; |
int(Integer) | Numerisch(Ganzzahlig) | –2^31 bis 2^31 | 32 Bit | 0 | var i:int = -123; |
uint | Numerisch (positiv Ganzzahlig) | 0 bis 2^31 – 1 | 32 Bit | 0 | var i:uint = 12; |
Boolean | Wert | True / False | 8 Bit | False | var i:Boolean = true; |
Date | Datum | – | – | null | var i:Date = new Date(); |
//Objekt anlegen var heute:Date = new Date(); //Funktion eines Objektes rufen var tag:Date = heute.getDay();
Ein Literal ist ein Wert, der direkt im Code angezeigt wird. Bei den folgenden Beispielen handelt es sich um Literale:
Reservierte Wörter können im Code nicht als Bezeichner verwendet werden, da sie für die Verwendung durch Actionscript reserviert sind. Reservierte Wörter umfassen lexikalische Schlüsselwörter, die vom Compiler aus dem Namespace des Programms entfernt werden. Wenn Sie ein lexikalisches Schlüsselwort als Bezeichner verwenden, meldet der Compiler einen Fehler. In der folgenden Tabelle sind die lexikalischen Schlüsselwörter in Actionscript 3.0 aufgeführt:
as | break | case | catch | class |
const | continue | default | delete | do |
else | extends | false | finally | for |
function | if | implements | import | in |
instanceof | interface | internal | is | native |
new | null | package | private | protected |
public | return | super | switch | this |
throw | to | true | try | typeof |
use | var | void | while | with |
Es gibt noch eine kleine Gruppe von Schlüsselwörtern, die so genannten syntaktischen Schlüsselwörter, die als Bezeichner verwendet werden können, in bestimmten Kontexten jedoch eine spezielle Bedeutung haben. In der folgenden Tabelle sind die syntaktischen Schlüsselwörter von ActionScript 3.0 aufgeführt:
each | get | set | namespace | include |
dynamic | final | native | override | static |
Darüber hinaus gibt es verschiedene Bezeichner, die manchmal als für zukünftige Verwendung reservierte Wörter bezeichnet werden. Diese Bezeichner sind zwar nicht durch ActionScript 3.0 reserviert, einige dieser Wörter können jedoch von Software, die ActionScript 3.0 integriert, als Schlüsselwörter behandelt werden. Zahlreiche dieser Bezeichnung können problemlos in Ihrem Code verwendet werden, Adobe rät jedoch von deren Verwendung ab, da sie in einer der nachfolgenden Versionen der Programmiersprache evtl. als Schlüsselwörter genutzt werden könnten.
abstract | boolean | byte | cast | char |
debugger | double | enum | export | float |
goto | intrinsic | long | prototype | short |
synchronized | throws | to | transient | type |
// wenn x groesser als 20 ist if(x > 20) { // fuehre das aus trace("X > 20"); }else{ // wenn nicht, dann fuehre das aus trace("X <= 20"); }
// wenn x groesser als 20 ist if(x > 20) { // fuehre das aus trace("X > 20"); }else if(x > 25) { // wenn nicht, dann fuehre das aus trace("X > 25"); }
switch(x) { // Wenn x = 20 springe hier rein case 20: trace("x = 20"); break; case 25: trace("X = 25"); break; // Wenn es keine Uebereinstimmung gibt, gehe hier rein default: trace("X = ?"); break; }
// laeuft 5 mal durch var i:int; for (i = 0; i < 5; i++) { trace(i); }
var myArray:Array = ["one", "two", "three"]; for (var i:String in myArray) { trace(myArray[i]); } // output: // one // two // three
var myArray:Array = ["one", "two", "three"]; for each (var item in myArray) { trace(item); } // output: // one // two // three
var i:int = 0; while (i < 5) { trace(i); i++; }
var i:int = 5; do { trace(i); i++; } while (i < 5); // output: 5
//Deklaration function traceParameter(einParam:Typ):RueckgabeTyp { trace(aParam); // Wert zurueckgeben return aParam; } // Aufruf traceParameter("hello");
package { // Importierte Klassen import flash.display.MovieClip; import flash.display.Stage; import flash.events.MouseEvent; // Klassendeklaration public class Beispiel { // Variablen // Sichtbarkeit private var myObj:Object; protected var myStage:Stage; public var myString:String; public static var myInt:int; // Konstruktor public function Beispiel() { // Objekt anlegen myMc = new MovieClip(); // Getter trace(myMc.name); // Setter myMc.alpha = 0.1; // Eventlistener myMc.addEventListener(MouseEvent.CLICK, click); } // Funktion private function init():void { // Funktionsaufruf this.myFloatNum = berechne(14, 17); } private function click(e:MouseEvent):void { trace(e.currentTarget.name); } // Funktion mit Variablenübergabe (Call by Reference) private function berechne(a:int, b:int):int { return a + b; } } }
Achtung dieser Beitrag enthält Informationen, Grafiken und markenrechtlich geschützte Inhalte von Firmen!
eine interessante und unübliche sicht auf den Inhalt. ohne frage nicht der übliche tenor, wie ich denke.