ActionScript
ActionScript (kurz: AS) ist eine proprietäre Scriptsprache des us-amerikanischen Softwareunternehmen Macromedia auf Basis des ECMA-262-Standards.
Es handelt sich hierbei ausschließlich um eine programminterne Sprache der Entwicklungsumgebung Macromedia Flash, die vom sogenannten Flash-Player (Standalone oder als Browser-Plugin) beim Abspielen eines Films interpretiert wird. Der ActionScript-Code kann sowohl in die FLA/SFW-Dateien integriert werden, als auch als externe Textdatei vom Player nachgeladen werden. Laut gängiger Statistiken verfügen über 95% aller Browser über ein Flash-Player-Plugin (siehe dazu: Macromedia Flash – Kritische Anmerkungen).
Macromedia Flash enthält eine integrierte Entwicklungsumgebung (IDE), die sowohl Scriptentwicklung als auch deren Debuggen unterstützt. Mittlerweile gibt es auch eine Reihe kommerzieller Tools sowie OpenSource-Bibliotheken (z. B. Ming bei PHP), die es ebenfalls ermöglichen Flash-Filme mit ActionScript zu erzeugen.
ActionScripts arbeiten stets ereignisorientiert – werden also nur nach einem eingetretenem Ereignis ausgeführt.
Einige Ereignisse, die ausgewertet werden können:
- Schlüsselbilder – Sobald der Player ein bestimmtes Schlüsselbild abspielt
- Schaltflächen-Symbole – Der Nutzer fährt mit der Maus über eine Schaltfläche oder klickt diese an
- MovieClip-Symbole – Eingebettete MovieClips lösen selbst Ereignisse aus
Konventionen/Syntax
ActionScript
Da ActionScript sowie auch JavaScript auf dem ECMA-Standard aufbauen, bestehen Ähnlichkeiten in der Syntax zwischen den beiden Sprachen. Trotzdem unterscheiden sich beide jedoch grundlegend: Während JavaScript hauptsächlich aus dem Browser-Umfeld bekannt ist und dort mit Fenster-, Dokument- und Formular-Objekten arbeitet, arbeitet ActionScript mit MovieClips, Textfeldern und Klängen.
ActionScript 2
Mit ActionScript 2 (AS2) gibt es seit Flash MX 2004 eine Java-ähnliche Programmiersprache, die sich an ECMA-Script 4 orientiert. AS2 wird ab der Flash Player 6 Version unterstützt.
Schreibweise
Funktionsnamen und Variablen sollten mit einem kleinen Buchstaben beginnen. Objekte sollten groß geschrieben werden. Der erste Buchstabe jedes Teilwortes sollte in beiden Fällen groß geschrieben werden.
Beispiele:
Der ActionScript-Editor unterstützt Textvervollständigung – dies aber nur, wenn sich die Namen an ein bestimmtes Format halten:
Objekt-Typ | Suffix | Beispiel |
---|---|---|
String | _str | myString_str |
Array | _array | myArray_array |
MovieClip | _mc | myMovieClip_mc |
MovieClipLoader | _mcl | myLoader_mcl |
TextField | _txt | myTextField_txt |
TextFormat | _fmt | myFormat_fmt |
Date | _date | myDate_date |
Sound | _sound | mySound_sound |
XML | _xml | myXML_xml |
Color | _color | myColor_color |
Kommentare
Es wird allgemein immer empfohlen, schon während der Entwicklung genügend Kommentare in den Code einzufügen, der die Funktionsweise beschreibt. Ein außenstehender Entwickler sollte in der Lage sein, sich mithilfe der Kommentare schnell einzuarbeiten und den Code weiterzuentwickeln.
var clicks = 0; // Dies ist ein einfacher Kommentar.
/* * Dies ist ein Kommentar, * der sich über mehrere Zeilen erstreckt. * */
Zeitleiste
- Verwenden Sie nicht die vorgegebenen Standardnamen (Ebene 1, Ebene 2, ...), sondern definieren Sie Ihre eigenen intuitiven Bezeichnungen
- Gruppieren Sie Ebenen in „Ordnern“
- Platzieren sie ActionScript-Ebenen ganz oben, um schnellen Zugriff auf den ganzen Code der Zeitleiste zu haben.
Zugriff auf Variablen
_parent.myVar.blah = 100; // Benutzen Sie relative Bezeichnungen wie diesen _root.myClip = 200; // Vermeiden Sie absolute Bezeichner wie diesen _global.myVar = 300; // _global-Variablen sind in allen Movies im Player verfügbar
Actions
- Wenn immer möglich, sollte der Code an einer Stelle zusammengehalten werden – vorzugsweise im Frame 1 der Zeitleiste (Sollte ein Preloader verwendet werden, kann es notwendig sein, den Code erst im Frame 2 zu plazieren). Dies macht das Wiederfinden und Debugging später einfacher.
- Große Code-Blöcke sollten in logische Teile mit Kommentaren segmentiert werden.
- Vermeiden Sie, Code an MovieClips oder Buttons zu binden – hier sollten nur Funktionsaufrufe stehen. Die Funktionen als solche können in einen Frame geschrieben werden.
// CODE IM BUTTON – nicht empfohlen on (release) { play(); }
// CODE IM FRAME – Empfehlung myButton_btn.onRelease = function() { play(); }
Quelle
Die oben genannten Informationen stellen eine Zusammenfassung der Macromedia ActionScript Coding Standards dar. Für eine detailliertere Erklärung, nehmen Sie bitte Bezug auf dieses Dokument (englisch).
ActionScript Versionen
- ActionScript 1
- ActionScript 2 (seit Macromedia Flash MX 2004)
Literatur
- Caroline und Matthias Kannengiesser: Flash MX 2004 - Professional. Franzis, Deutschland 2005, ISBN 3-7723-7995-8
- Caroline und Matthias Kannengiesser: Durchstarten mit Flash MX 2004. Franzis, Deutschland 2004, ISBN 3-7723-7903-6
- Caroline und Matthias Kannengiesser: ActionScript - Profireferenz. Franzis, Deutschland 2003, ISBN 3-7723-6026-2
- Matthias Kannengiesser: ActionScript - Praxisbuch. Franzis, Deutschland 2002, ISBN 3-7723-6797-6
Siehe auch
Weblinks
- ActionScript - Praxis (deutsch)
- ECMAScript-Sprachspezifikation (englisch)
- Macromedia´s ActionScript Coding Standards (englisch)
- Eine Vielzahl nützlicher Tutorials (von Macromedia) (englisch)
- MING: OpenSource-Bibliotheken zur Erstellung von Flash und ActionScript (englisch)