Medienproduktion Sommersemester...

45
Medienproduktion Sommersemester 2010 Dipl.-Inform. Alexander Schulze Prof. Dr. Ing. Klaus Rebensburg

Transcript of Medienproduktion Sommersemester...

Page 1: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

MedienproduktionSommersemester 2010

Dipl.-Inform. Alexander Schulze Prof. Dr. Ing. Klaus Rebensburg

Page 2: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Ablauf Heute

• Vorstellung Projekte & Gruppen

• Programmieren mit ActionScript 3

Weitere Vorlesungen

• Stoffentwicklung auf Projekte ausgerichtet

• Grundlagen Medienproduktion (Schnittmenge Digital Imaging & Interactive Media)

Page 3: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Projekte und Gruppen

Page 4: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Flash - Programmierung mit ActionScript 3

Page 5: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

ActionScript 3.0

• Was ist AS3?Basiseigenschaften

• die Syntax

• Bezeichner, Kommentare, Variablen, Datentypen, Strings, Arrays, Funktionen

• Events / Ereignisse

• die Anzeigeliste

• Timer

• die Zeitleiste in ActionScript

• Klassen

• Pakete

Page 6: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Flash - ActionScript

Spracheigenschaften, Syntax

Page 7: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Zur Erinnerung: Was ist ActionsScript?

• Programmiersprache für die Flash Player Laufzeitumgebung

• Realisierung von Interaktion, Verarbeitung von Daten und Events

• AS Anweisungen werden von der Actionscript Virtual Maschine ausgeführt

• AS Programmcode wird in Bytecode kompiliert und in SWF-Dateien gespeichert

• Flash Player Laufzeitumgebung führt den Bytecode aus

medienproduktion/interactive-media/flash/actionscript/einleitung

Page 8: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

ActionScript 3: Eigenschaften

• robustes, objektorientiertes Programmiermodell

• an Standards ausgerichteter Sprachumfang

• Sprachkern basiert auf ECMAScript

• XML-API zur Verwendung von XML als nativer Datentyp der Sprache (Basis E4X-Spezifikation)

• Event-Modell auf Basis der DOM3-Ereignisspezifikation

medienproduktion/interactive-media/flash/actionscript/einleitung

Page 9: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Syntax: Anweisungen

• Anweisungen

• jede Anweisung in einer Zeile mit Semikolon beendet

• stop();

• gotoAndPlay(50);

• trace( “hello world!“ );

• Ausführung

• bei Erreichen eines Schlüsselbildes mit einem Skript ➜ Skript des Bildes

• bei Aufruf einer Funktion ➜ Anweisungen der Funktion

• bei Events ➜ Anweisungen der Event-Listener-Funktion

medienproduktion/interactive-media/flash/actionscript/syntax

Page 10: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Beispiel 1: Einstiegspunkt Flash-Anwendung

• Aktion in Schlüsselbild

• Ausführung zur Laufzeit

• Ausgabe im „Ausgabefenster“

Strg-ENTER

Command-ENTER

medienproduktion/interactive-media/flash/actionscript/ausführung/beispiel

Page 11: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Beispiel 2: Einstiegspunkt Flash-Anwendung

• Dokumentenklasse als externe .as - Datei

• Verknüpfung FLA ➜Dokumentenklasse

• Eigenschaften-Inspektor der Bühne (Dokument)

• bei Start wird Konstruktor der Klasse aufgerufen

• Anforderungen:

• Dokumentenklasse Subklasse Movieclip oder Sprite

• Klasse und Konstruktor sind public deklariert

medienproduktion/interactive-media/flash/actionscript/ausführung/beispiel

Page 12: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Bezeichner

• wahlfreie Namen für Variablen und Funktionen

• keine Umlaute

• Beginn mit Buchstaben oder _ gefolgt von Zeichen, Ziffern, _

• keine Leerzeichen, nicht mit Zahl beginnen, kein .

• Kollision mit AS-Schlüsselwörtern und -Objekten vermeiden

• best practice (Camel Case)

• mySuperDuperVariable = 5;

• parseConfigXml();

medienproduktion/interactive-media/flash/actionscript/syntax/bezeichner

Page 13: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Kommentare

• einzeiliger Kommentar

• hinter zwei Schrägstrichen (//) wird die restliche Zeile ignoriert

• mehrzeiliger Kommentar

• Inhalte zwischen /* und */ wird ignoriert

• für mehrzeilige Kommentare (Beschreibung von Funktionen und Methoden)

• Deaktivieren von Codeabschnitten

medienproduktion/interactive-media/flash/actionscript/syntax/kommentare

Page 14: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Variablen

• Schlüsselwort var zum Deklarieren

• Schema: var name:typ;

• Beispiele

• var i; // ➜ zulässig aber Compiler-Warnung im strikten Modus

• var i:int;

• var myVar:Number = 2;

• var a:int, b:int, c:int;

• var a:int = 10, b:int = 20, c:int = 30;

medienproduktion/interactive-media/flash/actionscript/syntax/variablen

Page 15: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Funktionen

• Funktionen definieren

• function Funktionsname(ParamName:ParamTyp):ReturnTyp { ....}

• Beispiele

• function runMe():void { trace("this is the runMe function");}runMe();

• function doubleNum(baseNum:int):int { return (baseNum * 2); }

medienproduktion/interactive-media/flash/actionscript/syntax/funktionen

Page 16: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Datentypen

• Ein Datentyp definiert Werte

• z.B. „Boolean“ lässt zwei Werte zu: true und false

• Typen z.B.: Boolean, String, Number, Array, int, uint,...

• Werte = Objekte

• „Alle Werte in ActionScript 3.0 sind Objekte“ (auch Grundwerte wie Werte des Datentyps int)

• Grundwerte vs komplexe Typen

• Grundwerte können ohne new-Operator verwendet werden

• var someInt:int = 3;

• var someInt:int = new int(3);

medienproduktion/interactive-media/flash/actionscript/datentypen

Page 17: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Strings

• Unterstützung für ASCII und UniCode

• var bandName1:String = "The Beatles";var bandName2:String = 'The Rolling Stones';var bandName3:String = new String("Guns‘n Roses");

• Escape-Sequenzen• \' (Einfaches Anführungszeichen), \" (Doppeltes

Anführungszeichen), \unnnn (Unicode nnn als hex), \\xnn (Ascii-Code nn als hex),...

• Länge: trace(myStr.length());

• Verketten von Strings• var str3:String = "green" + "ish"; // str3 == "greenish"

medienproduktion/interactive-media/flash/actionscript/datentypen

Page 18: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Arrays

• einfache indizierte Arrays

• assoziative Arrays über Schlüssel zugreifbar

• mehrdimensionale Arrays mit Elementen die auch Arrays sein können

• Beispiele...

medienproduktion/interactive-media/flash/actionscript/datentypen

Page 19: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

einfache Arrays: Beispiele

• Beispiele• var names:Array = new Array();

trace(names.length); // output: 0

var names:Array = new Array(3); trace(names.length); // output: 3

var names:Array = new Array("John", "Jane", "David"); trace(names.length); // output: 3

var names:Array = ["John", "Jane", "David"];trace(names.length); // output: 3

medienproduktion/interactive-media/flash/actionscript/datentypen

Page 20: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

ActionScript 3die Zeitleiste

Page 21: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Zeitleiste

• Steuerung PlayHead über einfache Anweisungen

• Steuerung Hauptzeitleiste (Bühne) oder einer Animation (MovieClip)

• stop(); // playhead bühne anhaltenbicycle.stop(); // playhead animation fahrrad anhalten

• Anhalten, Weiterspielen, schrittweise vor/zurück

• stop(); play(); prevFrame(); nextFrame();

• Sprungbefehle

• gotoAndPlay(5); gotoAndStop(„ende“);

medienproduktion/interactive-media/flash/actionscript/zeitleiste

Page 22: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

ActionScript 3Events

Page 23: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Events

• Basis DOM3-Eventmodell des W3C

• verschiedene Typen von Events

• typisch Maus-Events: click, double_click, roll_over, roll_out,...

• Mechanismus: Event vs Event-Ziel

• Beispiel: Event: Mausklick Eventziel: Button

• für eigene Funktionalitäten muss man aktiv „horchen“ ➜ wird über AS-Funktion aktiviert

• Event-Ziel oft grafisches Objekt

• z.B. Button

medienproduktion/interactive-media/flash/actionscript/events

Page 24: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Events

• Events werden durch Ereignisobjekt dargestellt

• dies ist Instanz der Event-Klasse (oder einer Unterklasse)

• Ereignisobjekt

• speichert Informationen über ein Ereignis

• enthält Methoden zur Bearbeitung des Ereignisobjektes

• Beispiel Mausklick

• Ereignisobjekt wird erzeugt (eine Instanz der MouseEvent-Klasse)

• speichert Mauskoordinaten für Klick

medienproduktion/interactive-media/flash/actionscript/events

Page 25: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Events: Event-Fluss & Anzeigeliste

• grafische Elemente sind Teil der Anzeigeliste(display list)

• Anzeigeliste hierarchisch strukturiert

• ist Event-Ziel grafisches Element dann...➜ Event propagiert sich durch Anzeigeliste bis zum Ziel

medienproduktion/interactive-media/flash/actionscript/events

Page 26: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Events verarbeiten: Workflow

Event-Handler-Funktion schreiben

Funktion mit Event verknüpfen

Mausklick AusführungEvent-Handler

Instanz.addEventListener()

function eventHandlerFunction () { ....}

medienproduktion/interactive-media/flash/actionscript/events

Page 27: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Events verarbeiten: Workflow

• eventHandler-Funktion schreiben

• function eventHandlerFunction (e:MouseEvent) { // Aktion für das Ereignis der betreffenden Schaltfläche}

• eventHandler-Funktion als „Listener“ registrieren

• Instantz addEventListener(Ereignis, eventHandlerFunction);

• Beispiel

• function eventHandlerFunction (e:MouseEvent) { // Aktion für das Ereignis der betreffenden Schaltfläche}

medienproduktion/interactive-media/flash/actionscript/events

Page 28: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

ActionScript 3die Anzeigeliste

Page 29: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Anzeigeliste: Grundlagen

• jede Flash-Anwendung beinhaltet Anzeigeliste (display list)

• display list = Hierachie von Anzeige-Objekten

• Anzeige-Objekte: alle sichtbaren Elemente einer Flash-Anwendung werden durch Anzeige-Objekte repräsentiert

• Anzeige-Objekt-Container: können weitere Anzeige-Objekte oder Anzeige-Objekt-Container enthalten ➜ enthaltene Unterobjekte in Child-Liste

medienproduktion/interactive-media/flash/actionscript/displaylist

Page 30: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Anzeigeliste: Grundlagen

• jedes SWF hat mindestens: Bühne (stage object)

• Basis-Container aller Anzeigeobjekte

• an der Spitze der Hierachie

• zusätzlich ist eine Instanz der Hauptklasse für jedes SWF enthalten, bei Start wird deren Ctor aufgerufen

• zufügen von neuen grafischen Elementen durch anfügen an die Child-Liste eines Containers➜ Container.addChild(Unterobjekt);

medienproduktion/interactive-media/flash/actionscript/displaylist

Page 31: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Anzeigeliste: Struktur

stage-Objekt

Hauptklasse SWF ➜ Aufruf ctor

Hierarchie an Anzeige-Objektenund Anzeige-Objekt-Containern

medienproduktion/interactive-media/flash/actionscript/displaylist

Page 32: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Anzeigeliste: Beispiele

• Beispiele

• Text auf die Bühne bringen:(zufügen zur display list der bühne)

var myText:TextField = new TextField();myText.text = "Hello!";addChild(myText);

• Text wieder von der Bühne löschen:(entfernen aus der display list der bühne)

removeChild(myText);

• Text ausblenden aber in display list belassen:

myText.visible = false;

medienproduktion/interactive-media/flash/actionscript/displaylist

Page 33: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

ActionScript 3Timer

Page 34: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Timer: Einleitung

• zum Auslösen von Events wenn Zeitintervalle erreicht werden

• eigene Timer-Klasse

• verschiedene Events: TIMER und TIMER_COMPLETE

• Hilfsfunktionen als Methoden der Timer-Klasse

medienproduktion/interactive-media/flash/actionscript/timer

Page 35: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Timer: Workflow

Timer-Objekterzeugen

Funktion mit TimerEvent verknüpfen

TimerEvent AusführungEvent-Handler

myTimer.addEventListener( TimerEvent.TIMER, onTick );

var myTimer = new Timer(1000); // 1sec

function onTick( e:TimerEvent ):void { trace( "tick-tack" );}

medienproduktion/interactive-media/flash/actionscript/timer

Page 36: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

ActionScript 3Klassen

Page 37: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Klassen

• ähnliche Funktionalität wie in C++, C#, Java,...

• abstrakte Darstellung eines Objekts aus Variablen, Konstanten und Methoden

• ähnliche oder gleiche Schlüsselwörter:class, extends, public,...

• Definition einer Klasse: ein Beispiel:

• public class Shape { var visible:Boolean = true; }

medienproduktion/interactive-media/flash/actionscript/klassen

Page 38: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Klassenattribute

• Verwenden von Klassenattributen:

• dynamic class SampleCode();

• Klassenattribute (gelten für Klassen)

• dynamic ➜ zur Laufzeit können Eigenschaften zu Instanzen der Klasse hinzugefügt werden.

• final ➜ Klasse kann nicht von einer anderen Klasse erweitert werden.

• internal (default) ➜ Klasse ist (nur) innerhalb des aktuellen Pakets sichtbar.

• public ➜ Klasse ist (auch) außerhalb des aktuellen Pakets sichtbar.

medienproduktion/interactive-media/flash/actionscript/klassen

Page 39: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Klasseneigenschaftenattribute

• Klasseneigenschaftenattribute

• internal (default)➜ Eigenschaft nur in innerhalb des Pakets sichtbar.

• private ➜ Eigenschaft nur in innerhalb der Klasse sichtbar.

• protected➜ Eigenschaft nur in innerhalb der Klasse und davon abgeleiteter Klassen sichtbar.

• public ➜ Überall sichtbar, außerhalb Klasse / Paket.

• static ➜ statische Eigenschaft die nicht an Instanz der Klasse gebunden ist.

• NameEinesNamespace➜ Benutzerdefinierter Namespace-Name.

medienproduktion/interactive-media/flash/actionscript/klassen

Page 40: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Klasseneigenschaftenattribute

• gelten für Variable, Konstanten und Methoden einer Klasse

• Verwenden von Klasseneigenschaftenattributen• class PrivateExample

{ private var privVar:String = "private variable"; }

medienproduktion/interactive-media/flash/actionscript/klassen

Page 41: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Verknüpfung von Klassen und Assets

• für Assets aus der Bibliothek einer FLA-Datei

• für Assets wird dann Klasse im Klassenpfad gesucht

• ansonsten automatisch angelegt

• mit Instanzen der Klassen können dann Instanzen des Asses angelegt werden

medienproduktion/interactive-media/flash/actionscript/klassen

Page 42: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

ActionScript 3Pakete

Page 43: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Pakete

• Pakete bündeln mehrere Klassendefinitionen zur gemeinsamen Nutzung

• mehrere Klassen werden als Teil eines Pakets definiert:

• package samples { public class SampleCode { public var sampleGreeting:String; public function sampleFunction() { trace(sampleGreeting + " from sampleFunction()"); } } }

medienproduktion/interactive-media/flash/actionscript/package

Page 44: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Pakete

• Pakete können Namenskonflikte vermeiden helfen

• Klassen mit identischen Namen können in unterschiedlichen packages koexistieren

• Compiler wandelt Klassenname um

• aus Funktion sampleFunction() der Klasse sampleCode im Paket samples wird ➜ samples.SampleCode.sampleFunction()

medienproduktion/interactive-media/flash/actionscript/package

Page 45: Medienproduktion Sommersemester 2010fue-wiki.tubit.tu-berlin.de/lib/exe/fetch.php/...mmp_ss10_flash_03.pdf · ActionScript 3.0 • Was ist AS3? Basiseigenschaften • die Syntax •

Pakete: Pakete verwenden

• zur Verwendung einer Klasse eines Pakets

• Paket importieren

• // import all classes in packageimport samples.*;

• Klasse des Pakets importieren

• // import only class SampleCodeimport samples.SampleCode;

• Quellcode des Pakets wird im Klassenpfad gesucht

• „Datei> Einstellungen für Veröffentlichungen“

medienproduktion/interactive-media/flash/actionscript/package