Flash / ActionScript – Tutorial, Tipps & Tricks
Flash ist im weitesten Sinne der standard für Animationen und Vektorgrafiken im Internet, welcher sich aufgrund seiner zahlreichen Vorteile und hoher Integrität immer größerer Beliebtheit erfreut und sich im Laufe der Zeit in seinem Genre durchsetzen konnte.Was ist Flash und was braucht man dafür?
Flash ist im engeren Sinne ein Animationsprogramm aus dem Hause Macromedia, mit dessen Hilfe sich u.a. Flash filme im so genannten Small Web Format (Dateisuffix .swf) erstellen lassen. Diese zeichnen sich potentiell durch eine vergleichsweise sehr geringe Größe und enorme Skalierbarkeit aus, so dass sie heute beispielsweise für multimedialgeprägte Webseiten aufgrund relativ geringer Ladezeiten nahezu unverzichtbar sind. Gerade in diesem Bereich stießen diejenigen, welche ihre Website grafisch ansprechend bzw. anspruchsvoll gestalten wollten, mit den gebotenen Möglichkeiten wie GIF-Animationen, CSS oder DHTML schnell an deren Leistungsgrenzen.Neben dieser Entwicklungsumgebung können aber auch andere Produkte beispielsweise von Adobe, Corel usw. und darüber hinaus z.B. Swish bzw. Swishmax für die Erzeugung jener Inhalte verwendet werden. Das Potential derartiger Programme, mit denen Flash filme oft einfacher erstellt werden können, ist gegenüber Macromedia Flash jedoch nicht selten eingeschränkt.
Die Vorteile von Flash
Flash animationen sind stets vektor- und nicht pixelbasierend, d.h. sie sind aus definierten Linien und Kurven (Vektoren), welche wiederum aus in der Animation gespeicherten Koordinaten berechnet werden, aufgebaut. Dies impliziert sogleich die beiden größten Vorteile von Flash :- große Skalierbarkeit ohne Qualitätsverlust
- geringe Speicherplatzbedarf, woraus relativ geringe Übertragungszeiten resultieren
Auf diese Weise erzeugt Flash grafische Elemente enormer Skalierbarkeit, da sie für jede Auflösung bzw. Größe auf Grundlage neuer Berechnungen erneut konstruiert werden.
Flash inhalte sind in der Regel animiert und bringen somit reichlich Dynamik in eine Webpräsenz. So können in Flash auch Videos und Sounds eingefügt werden, so dass Flash filmen sehr effektiv auch multimediale Grundzüge verliehen bekommen können. Aufgrund der Tatsache, dass Flash seit der Version 4.0 über eine eigene Scriptsprache, dem Actionscript, verfügt, können darüber hinaus interaktive Inhalte durch Verwendung von Formularen und ähnlicher Elemente generiert werden.
Diese Interaktivität kommt nicht zuletzt auch durch die Möglichkeit von ActionScript zur Geltung, mit serverseitigen Programmiersprachen wie zum Beispiel PHP , XML , ASP , JSP , MySQL, usw. in einem gewissen Umfang kommunizieren zu können. Das Potential von Flash ist schwer zu erfassen und seine Möglichkeiten sind nahezu unbegrenzt. Dank der Entwicklung zahlreicher Bibliotheken auf Open-Source-Basis für andere Entwicklungsbereiche, wie etwa der Programmierung mit PHP (Ming-Bibliothek) sowie anderen Programmen als Flash wie etwa Swishmax, etc., ist es mittlerweile auch möglich, Flash inhalte außerhalb der Macromedia Entwicklungsumgebung mit ActionScript zu erzeugen.
Die Nachteile von Flash
Als größtes Laster von Flash wäre das Flash Browser - Plugin zu nennen, welches Voraussetzung für die Darstellung von Flash inhalten in einem Browser ist und im Zuge der Weiterentwicklung von Flash hin und wieder eine Novelle erfährt. Dieses Plugin ist heute immer noch nicht von vornherein in jedem Browser integriert bzw. muss bei dessen Installation explizit ausgewählt und sollte aufgrund neu erscheinender Versionen ständig geupdatet werden. Dennoch erfreut sich das Browserplugin immer höherer Beliebtheit und ist laut Herstellerangaben lediglich bei nur noch bei weniger als fünf Prozent aller weltweiten Nutzer nicht installiert.Des Weiteren können Flash inhalte nicht von Suchmaschinen durchsucht werden, was die Publizierung von derartigen Inhalten im Netz im Gegensatz zu konventionell gespeicherten Inhalten wie Texten, usw. erschwert.
Die Geschichte von Flash
Die Konzeption vektorbasierender Animationen wurde ursprünglich von der Firma FutureWave entwickelt, als diese erkennen musste, dass ihre bisher angebotenen Softwareprodukte für Pen Computer keinen Abnehmer fanden. Der Ursprung von Flash ist also im Jahre 1993 zu suchen, als eben diese Firma sich entschloss, ihre Softwareprodukte für Pen-Computer zu einer völlig neuartigen Animationssoftware weiterzuentwickeln. Im Jahre 1955 brachte FutureWave dieses Animationsprogramm unter dem Namen SmartSketch auf den Markt, welches durch die Veröffentlichung des Browserplugins Future Splash Player im gleichen Jahre erweitert wurde. Bevor die Firma 1996 von Macromedia aufgekauft wurde, veröffentlichte sie wiederum ein weiteres vektorbasierendes Animationsprogramm, das den Namen Future Splash Animator trug und sich verhältnismäßig erfolgreich auf dem Markt platzieren konnte. Im Zuge der Weiterentwicklung des Players und des Animators durch Macromedia entstanden bis heute zahlreiche Versionen des Shockwave Players (ursprünglich Future Splash Player) sowie von Flash (ursprünglich Future Splash Animator).Vor kurzem wurde die Entwicklung der 8. Version von Flash mit dem Codenamen EightBall durch die Firma Macromedia, welche inzwischen von Adobe aufgekauft wurde, fertig gestellt.
Die verschiedenen Versionen von Flash
Flash machte in den letzten 8 Jahren aufgrund der explosionsartig ansteigenden Popolarität eine ebenso rasante Entwicklung durch, im Zuge derer nahezu jedes Jahr eine neue Programm- und Playerversion veröffentlicht wurde. Mit der fortwährenden Weiterentwicklung der flasheigenen Scriptsprache ActionScript , welche heute in der Version 2 in Flash 8 integriert ist, gelang Macromedia der Spagat zwischen Design und Programmierung und erschloss sich zunehmend im Bereich internetbasierender Präsentationen und Anwendungen neue Zielgruppen.Nach einjähriger Weiterentwicklung des Future-Splash-Animators veröffentlichte Macromedia bereits 1997 das Ergebnis dieses Prozesses - die Entwicklungssoftware Macromedia Flash 1.0, deren Paket bereits den Flash Player beinhaltete. Diese Produktversion war im Funktionsspektrum noch sehr stark eingeschränkt, beherrschte jedoch bereits die Einbindung diverser Audio- und Bitmapformate. Nach zügiger Optimierung dieser Möglichkeiten veröffentlichte Macromedia bereits im September des gleichen Jahres die Version 2 und bot ihren Kunden damit bereits wesentlich größere Entwicklungsmöglichkeiten.
Flash 3 und 4
1998 erschien bereits die dritte Programmversion auf dem Markt, welche aufgrund der Integration des Flash Players in die Entwicklungsumgebung das Testen von Flash filmen erheblich vereinfachte. Die wesentlichsten Neuerungen sind jedoch in der Einführung des Movieclipskonzepts, einer vielfach besseren Integration der Filme in HTML-Dokumente und den zahlreichen neuen Animationsfeatures, zu sehen. Die Geburtsstunde von ActionScript und damit der vorerst signifikanteste Einschnitt in der Geschichte von Flash vollzog sich im Juli des Jahres 1999 mit der Veröffentlichung von Macromedia Flash 4. Die Integration der Scriptsprache mit den ersten Kontrollstrukturen, usw. leitete den Siegeszug von Flash ein. Parallel dazu unterstützte diese Programmversion bereits das Streamen von MP3-Files und vor allem - dank Einführung der Felder für Eingabetexte - die Konstruktion von Formularen zur Kommunikation im Client-Server-Modell auf Grundlage des Common Gateway Interfaces. Damit war es erstmals möglich, dynamische, multimediale Inhalte zu erstellen, was der Beliebtheit und Verbreitung von Flash einen gehörigen Impuls verschaffte.Flash 5 bis 8
Im August 2000 erhielt das Programm mit Einführung der Version 5 ein gänzlich überarbeitetes Interface und einen Debugger für ActionScript e, deren Syntax im Zuge der Anpassung an die ECMA-262-Norm von Grund auf verändert wurde. Dies sollte dazu beitragen, die Zielgruppe der Entwickler, welchen dieser Syntax - standard bereits u.a. von JavaScript vertraut war, zu gewinnen. Die fortan existierende XML-Unterstützung (Extensible Markup Language) in Flash trug bereits zu diesem Zeitpunkt der mittlerweile so mächtigen Programmiersprache Rechnung. Mit der Version Flash MX - veröffentlicht im März 2002 - entwuchs ActionScript wohl endgültig seinen Kinderschuhen. Die noch stärkere Anpassung an den o.g. ECMA-Standard sowie die Integration einer umfangreichen Funktionsbibliothek trugen ebenso wie die nun gegebene Möglichkeit, dynamische Formen mithilfe einer neuen Flash-API zu erstellen, dazu bei. Dennoch bot ActionScript bisher noch keine Möglichkeiten zur objektorientierten Programmierung und ließ damit noch einiges an Potential vermissen. Dies änderte Macromedia mit der Markeinführung von Flash MX 2004 im Oktober 2003. ActionScript verfügt seitdem über eine OOP - Komponente ( ActionScript 2), deren nun javaähnliche Syntax sich stark an einem Entwurf für ECMAScript 4 anlehnt. Zu den wichtigsten Neuerungen dieser Programmversion zählen jedoch auch die Unterstützung von CSS, ein neues Komponentenmodell, usw. Im September diesen Jahres sollte Macromedia wohl ein neuer Wurf gelungen sein. Flash 8 bietet eine vielfach komfortablere Benutzeroberfläche als dessen Vorgänger mit zahlreichen neuen Features und Arbeitserleichterungen beispielsweise im Umgang mit den Zeichenwerkzeugen und dem Erstellen von ActionScript en. Der neu integrierte Video-Codec On2 VP6 bietet darüber hinaus sehr effektiv erweiterte Importierungsmöglichkeiten. Am auffälligsten sind jedoch die lange Zeit vermissten frei kombinierbaren Filtereffekte wie Schlagschatten, Glüheffekte und Füllmodi, wie man sie beispielsweise aus Bildbearbeitungsprogrammen wie Photoshop kennt. Auch die neue Text-Engine Flash type, welche eine deutlich bessere Textdarstellung bewirken soll, wird dazu beitragen, dass Flash 8 ein sehr wichtiger Meilenstein in der Flash-Geschichte darstellen wird.Grundlagen
Die Philosophie von Animationsprogrammen wie Flash versetzt deren Anwender gleichzeitig in die Rolle aller an der Produktion eines Films mitwirkenden Personen – in erster Linie jedoch die des Regisseurs. Für das Grundverständnis ist es wichtig, dass das Konzept von Flash die erstellten Inhalte als Filme (engl.: Movies) auffasst, was die Bezeichnung der einzelnen Bestandteile des Editors erklärt.
- Flash erzeugt (interaktive) Filme
- Aufbau der Entwicklungsumgebung
- Die Bühne
- Die Zeitleiste
- Der Eigenschaftsinspektor
- Die Werkzeugleiste
- Das Bedienfeld Aktionen
- Die Struktur eines Flashfilms
- Szenen
- Das Arbeiten mit Ebenen
- Das Arbeiten mit Masken
- Textarten in Flash
- Formulare in Flash
Symbole, Bibliotheken und Instanzen
Die Verwendung von Symbolen ist je nach Symbolart recht unterschiedlich. Ihnen allen ist jedoch der Grundgedanke der vielseitigen und flexiblen Wiederverwendbarkeit von Objekten gemein. Das Symbolkonzept trägt wesentlich dazu bei, die Dateigröße eines Flash Films gering zu halten.
- Der Aspekt der flexiblen Wiederverwendbarkeit
- Die drei Symbolarten
- Grafiken
- Movieclips
- Schaltflächen
- Die Bibliothek
- Neue Symbole erstellen
- Instanzen eines Symbols erzeugen
- Der Aspekt der Speicherplatzminimierung
Animationen von Objekten erzeugen
Um einem Film ein gewisses visuelles Leben einzuhauchen sind animierte Bildsequenzen nahezu unerlässlich. Flash unterscheidet dabei im Wesentlichen drei Verfahren zum Erstellen von Animationen.
- Einzelbildanimationen
- Tweens
- Motion Tweens erstellen
- Motion Tween an Pfaden ausrichten
- Form Tweens erstellen (Morphing)
- Form Tweens mithilfe der Formmarken beeinflussen
- Gescriptete Animationen
Flashfilme in HTML-Dokumente einbinden
Das Einbinden von Flash filmen geschieht in der Regel auf ähnliche Art und Weise wie das Einbinden beispielsweise von Java-Applets als Objekte in ein HTML-Dokument. Heute finden jedoch zwei wesentliche Methoden zur Einbettung ein Flash films in ein HTML-Dokument Verwendung.
- Die W3C-unkonforme Möglichkeit zur Einbindung
- Die W3C-konforme Möglichkeit zur Einbindung
- Variablen an einen eingebundenen Flashfilm übergeben
ActionScript – Die flasheigene Scriptsprache
ActionScript ist die auf den ECMA-262-Standard-aufbauende Scriptsprache der Entwicklungsumgebung Macromedia Flash , mit deren Hilfe Flash inhalten Interaktivität verliehen werden kann.
- Die beiden Versionen von ActionScript
- Syntax
- Anweisungen
- Anweisungsblöcke
- Kommentare
- Weitere Syntaxhinweise
- Hierarchie eines Flashfilms
- Der Punktzugriffsoperator
- Absolute und relative Zielpfade
- Zielpfade zu Movieclipinstanzen eines dynamisch geladenen Films
Variablen in ActionScript
ActionScript unterscheidet im Allgemeinen zwei Klassen von Datentypen: die elementaren Datentypen (Grunddatentypen), zu denen Zahlen (numbers), Zeichenketten (Strings), Boolean, null und undefined zählen, sowie Referenzdatentypen wie beispielsweise Objekte (z.B. Arrays) oder Movieclips.
- Variablen definieren
- Typenkonvertierung
- Gültigkeitsbereiche von Variablen
- Zahlen
- Methoden des Number-Objekts
- Strings
- Eigenschaften des String-Objekts
- Methoden des String-Objekts
- Boolean
- Der Datentyp null
- Der Datentyp undefined
- Arrays
- Eigenschaften des Array-Objekts
- Methoden des Array-Objekts
- Mehrdimensionale Arrays
- Assoziative Arrays (Hashes)
- Der Datentyp Movieclip
Kontrollstrukturen
Kontrollstrukturen sind im Allgemeinen programmiersprachliche Konstrukte zur Steuerung des Scriptablaufs bzw. im Speziellen des Flusses eines Flash films. Mithilfe derer können beispielsweise Anweisungen in Abhängigkeit von Bedingungen ausgeführt bzw. wiederholt werden. Die wichtigsten dieser Strukturen zählen auch zur Sprachbasis von ActionScript .
- Bedingte Anweisungen
- switch-case-Anweisungen
- while-Schleifen
- do-while-Schleifen
- for-Schleifen
- for-in-Schleifen
- break
- continue
- tellTarget
- with
Operatoren
ActionScript stellt ein vollständiges Spektrum von Operatoren zur Verfügung, welche entsprechend folgender Zusammenstellung klassifiziert werden können.
- Arithmetische Operatoren
- Zuweisungsoperatoren
- Vergleichsoperatoren
- Gleichheitsoperatoren
- Logische Operatoren
- Bitweise Operatoren
- Präzedenz von Operatoren
Funktionen
Mithilfe von selbst definierten Funktionen kann man häufig zu verwendende Scriptpassagen auslagern und von jeder beliebigen Stelle – vorausgesetzt, die Funktion ist bereits definiert – aufrufen. Auf diese Weise wird Übersichtlichkeit des Scripts und dessen Effizient merklich erhöht. Im objektorientierten Zusammenhang kommen Funktionen noch stärker zum Tragen, was im entsprechenden Kapitel weiter erläutert wird.
- Parameterlose Funktionen definieren und aufrufen
- Parameter an Funktionen übergeben
- Rückgabewerte von Funktionen
Event Handling
Die Möglichkeit in ActionScript , Aktionen bzw. Methoden durch Auftreten bestimmter erwünschter Ereignisse auszulösen, verleiht Flash filmen jenen interaktiven Charakter, welcher dazu führte, dass sich das Format auch auf dem Gebiet der Erstellung von Webpräsenzen etablieren konnte.
- Ereignisprozeduraktionen
- Ereignisprozedurmethoden
- Überblick möglicher Ereignisse für Movieclipinstanzen
- Überblick möglicher Ereignisse für Schaltflächeninstanzen
Formularelemente mit ActionScript beeinflussen
Aufgrund der Tatsache, dass Elemente eines Formulars nur während des Authorings erstellt werden können, kommt der Möglichkeit von ActionScript , diese beeinflussen zu können, eine große Bedeutung zu, um diese beispielsweise aktuellen Bedürfnissen während der Laufzeit anpassen zu können. Dynamisch generierte Inhalte erfordern so dynamisch konfigurierbare Formularelemente.
Movieclips dynamisch erzeugen
In häufigen Fällen wird die im Authoring-Modus auf der Bühne platzierte Menge von Movieclips nicht den Anforderungen eines Filmprojekts gerecht, so dass es erforderlich wird, Movieclipinstanzen dynamisch zur Laufzeit zu erzeugen. Derartig erzeugte Movieclips sind stets Unterknoten (childs) eines übergeordneten Movieclips (parent). Bei Verwendung etwaig noch vorhandener Aktionen ist dies zwingend der Movieclip, in dessen Zeitleiste die Aktion notiert wurde. Bei Verwendung der nach neuerem Modell dazu zur Verfügung stehenden Methoden des Movieclip-Objekts ist dies jedoch der Movieclip, dessen Zielpfad davor notiert wird. Letztere Art und Wiese bringt den Vorteil mit sich, dass dynamisch erzeugte Instanzen auch beliebigen anderen auf der Bühne vorhandenen Movieclips angehängt werden können.
Movieclips können im Allgemeinen mithilfe unterschiedlicher Verfahrensweisen dynamisch erzeugt werden.
- Leere Movieclips erzeugen
- Auf der Bühne vorhandene Movieclips vervielfachen
- Symbole der Bibliothek dynamisch instanzieren
- Dynamisch erzeugte Instanzen aus Hierarchie entfernen
- Inhalte verteilen: Externe Inhalte dynamisch in einen Flashfilm laden
- Grafiken und Videos dynamisch einbinden
- Sounds dynamisch importieren
- Dynamisch geladene Movieclips löschen
LiveConnect: Das Zusammenspiel von JavaScript und ActionScript
ActionScript ist wie bereits erwähnt aufgrund seiner Anlehnung an den ECMA-262-Standard JavaScript sehr ähnlich, so dass Macromedias Interesse eine Schnittstelle zu implementieren, welche eine Kommunikation zwischen beiden Scriptsprachen erlaubt, auf der Hand liegt. Diese Kommunikation ist grundsätzlich in beide Richtungen möglichen. So kann man sowohl mit ActionScript Funktionen aus JavaScript aufrufen, als auch mit letzterem einen Flash film durch Zugriff auf allgemeine vordefinierte Methoden von ActionScript steuern.
- Kommunikation von ActionScript mit JavaScript
- Kommunikation von JavaScript mit ActionScript
- Die Integration von LiveConnect
- Kommunikation von ActionScript mit serverseitigen Scripts
- Variablen dynamisch aus einem serverseitigen Script laden
Verarbeitung von XML-Dokumenten mit ActionScript
Die Beschreibungssprache XML (Extensible Markup Language), deren Potential in Verbindung mit XSL(T), usw. gewaltig ist, erfreut sich immer größerer Beliebtheit und Verbreitung. Dieser Bedeutung trägt Flash seit längerer Zeit Rechnung. Seit der Version 5 ist es nämlich mit ActionScript möglich, mithilfe der zahlreichen Methoden und Eigenschaften des XML – Objekts XML – Daten verhältnismäßig komfortabel zu verarbeiten und zu erzeugen.
Weitere Infos
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
Weiterlesen: ⯈ HTA
Über uns
Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project