AS3: Aufbau, Syntax und Notation von Actionscript 3

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:

API

Doku

 

 

 

 

 

 

 

Die Übersicht findet ihr nach dem Break!

 

Variablen

// Variable deklarieren
var name:typ;

// Wertezuweisung
var name:typ = wert;

 

Standard Datentypen

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();

 

Objekte

//Objekt anlegen
var heute:Date = new Date();

//Funktion eines Objektes rufen
var tag:Date = heute.getDay(); 

 

Literale

Ein Literal ist ein Wert, der direkt im Code angezeigt wird. Bei den folgenden Beispielen handelt es sich um Literale:

  • 29
  • „hallo“
  • -5
  • 19.2
  • null
  • undefined
  • true
  • false

 

Schlüsselwörter und reservierte Wörter

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

 

Bedingungen

 

IF-Abfrage

// 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");
}

IF-ELSE-Abfrage

// 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-Abfrage

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;
}

 

Schleifen

 

FOR-Schleife

// laeuft 5 mal durch
var i:int;
for (i = 0; i < 5; i++)
{
    trace(i);
}

Array mit FOR-Schleife

var myArray:Array = ["one", "two", "three"];
for (var i:String in myArray)
{
    trace(myArray[i]);
}
// output:
// one
// two
// three

Array mit FOR-EACH-Schleife

var myArray:Array = ["one", "two", "three"];
for each (var item in myArray)
{
    trace(item);
}
// output:
// one
// two
// three

WHILE-Schleife

var i:int = 0;
while (i < 5)
{
    trace(i);
    i++;
}

DO-WHILE-Schleife

var i:int = 5;
do
{
    trace(i);
    i++;
} while (i < 5);
// output: 5

 

Funktionen

//Deklaration
function traceParameter(einParam:Typ):RueckgabeTyp
{
    trace(aParam);

    // Wert zurueckgeben
    return aParam;
}

// Aufruf
traceParameter("hello");

 

Klassen

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;
        }
    }
}

 

Quellen

Achtung dieser Beitrag enthält Informationen, Grafiken und markenrechtlich geschützte Inhalte von Firmen!




1 Antwort : “AS3: Aufbau, Syntax und Notation von Actionscript 3”

  1. eine interessante und unübliche sicht auf den Inhalt. ohne frage nicht der übliche tenor, wie ich denke.

Schreibe eine Antwort zu Brigitte-Excel-ReusAntwort abbrechen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.