S. Kluth u.a.: Flash fast forward. Die Workshops für Fortgeschrittene Bibliografische Angaben:
Galileo Design 2008 (470 pp., mit CD, € 39.90) Niveau:
Flash-Entwickler mit soliden Grundkenntnissen AS (idealerweise 3.0) Thema:
Workshops zu geskripteten Flash-Effekten Autor:
Die Autoren sind seit Jahren als Freelancer im Bereich der Flash-Entwicklung tätig und bringen insofern ein gehöriges Maß an geballtem und insbesondere praktischem Wissen mit.
Inhalt:
Wer sich für etwas ausgefallenere Effekte in Flash interessiert, war bisher auf eigene Experimente sowie Tutorials im Internet angewiesen, da auf dem Buchmarkt mit Ausnahme von Keith Peters’ Actionscript Animation und dem von friendsofed herausgegebenen Sammelband Math Creativity so gut wie keine Publikation existierte, die sich diesem Thema ausschließlich widmete. Insofern war es höchste Zeit, daß ein Band wie Flash Fast Forward erschien.
Thematisch wird ein sehr weit reichendes Spektrum abgedeckt. Dazu gehören u.a. Texteffekte (z.B. animierte Schrift, Schreibmaschine, Scrollen), Grafikeffekte (z.B. Wellen, Pflanzengenerator, Lupe, TV-Rauschen, diverse Partikeleffekte), physikalische Simulationen (z.B. Schwerkraft und Reibung), „3D-Effekte“ (z.B. das geradezu schon berühmt-berüchtigte Karussellmenü, Bildergalerie), dynamische Applikationen (z.B. auf der Basis von XML), Audio- und Videoeffekte sowie Tipps, die bei einer Veröffentlichung im Internet zu beachten sind.
All das wird präsentiert in 6 größeren Abschnitten: [*]Simulationen und Effekte [*]Effekte mit der Bitmap-Klasse [*]Flash-Physics und 3D-Programmierung [*]Anwendungen und dynamische Inhalte [*]Audio und Video [*]Flash im Internet.</ul>Diese enorme Bandbreite ist insofern von Vorteil, als für jeden Flash-Entwickler garantiert ein interessanter und in der Praxis sinnvoll verwendbarer Effekt zu finden sein wird. Gleichzeitig stellt sie jedoch auch einen Nachteil dar, da man kaum einen roten Faden entdecken kann. Die Unterteilung in diverse Kategorien schafft hier nicht unbedingt die gewünschte Abhilfe, fehlt es doch durchaus an Trennschärfe: „Simulationen & Effekte“ sowie „Effekte mit der Bitmap-Klasse“ unterscheiden sich zumeist lediglich durch die verwendete Technik, während es sich in jedem Fall um Effekte handelt. Ebenso überschneiden sich „Simulationen ...“ und „Flash-Physics und 3D-Programmierung“ partiell. Dieses Problem wurde von Keith Peters trotz einer vergleichbaren Vielfalt an vorgestellten Effekten insgesamt besser gelöst.
Eine gute Idee stellen die den einzelnen Kategorien als Einleitung vorangestellten Kapitel dar. In ihnen wird jeweils ein den nachfolgenden Workshops zugrunde liegendes Prinzip behandelt (z.B. Packages, BitmapData etc.). So erhält man eine erste Orientierung, was einen denn erwartet. An mancher Stelle hätte man sich allerdings mehr Informationen gewünscht, was insbesondere für die BitmapData-Klasse gilt, die eine geradezu unglaubliche Vielzahl an Effekten ermöglicht. Angesichts dessen ist es übrigens überraschend, dass nicht mehr Workshops mit dieser Klasse arbeiten (und auch mit der Filter-Klasse). Angesichts der Kürze dieser Kapitel trifft die im Text auf der Buchrückseite (Punkt 3: Theorie-Exkurse) getroffene Aussage bezüglich des „notwendigen Basiswissens“, das vermittelt werde, nicht wirklich zu.
Das Buch macht programmiertechnisch leider nicht den Eindruck, als stamme es aus einem Guß – was wohl der hohen Anzahl verschiedener Autoren geschuldet ist. Denn die jeweils gewählte Vorgehensweise entspricht mal einer objektorientierten (z.B. Springende Bälle, Schneefall, 3D-Karussell), mal einer nur prozeduralen Programmierung (z.B. Wellen, Pflanzen, Verwischen, Lupe, Kabel), mal verwenden die Autoren AS 3.0, dann wieder 2.0, ohne daß in den meisten Fällen erkennbar wäre, warum man sich für eine spezifische Variante entschieden hat. Und in einigen glücklicherweise seltenen Fällen entsteht etwas unordentlicher Code (z.B. Simulation Wellen), in dem die Deklaration von Variablen, Eigenschaftsänderungen, erneute Deklarationen etc. munter abwechseln. Zudem sollte man möglichst darauf verzichten, in die Zeitleiste einzelner MCs Code einzufügen. Das erhöht nur die Unübersichtlichkeit und den Zeitaufwand bei einer eventuellen Änderung. Stattdessen gehört der Code – wie es auch in den anderen Workshops demonstriert wird – in den ersten Frame der Hauptzeitleiste, also an einen zentralen Ort. In diesem Workshop wird auch eine etwas merkwürdige Art vorgestellt, um die benötigte Kreisgrafik zu erzeugen. Da fehlte wohl die Zeit, um vor Drucklegung den Workshop etwas aufzuräumen.
Davon abgesehen erweist sich der Aufbau der Workshops generell als didaktisch sinnvoll und folgt jeweils demselben Muster: Einführung in den zu realisierenden Effekt incl. eines Hinweises auf dessen Bedeutung, schrittweise Aufbau des Effekts. Die Beschreibung erfolgt so kleinschrittig und ausführlich, daß selbst jemand, der noch nicht so sattelfest in der Programmierung ist, dennoch das gewünschte Ergebnis erzielen kann – und es auch verstehen kann aufgrund der guten Erklärungen. Die passenden Screenshots leisten zusätzlich einen guten Beitrag zur Verständlichkeit. Ebenfalls gut gelöst ist die Verknüpfung zwischen einzelnen Arbeitsschritten und aktuellem Arbeitsstand: wer einen Schritt wider Erwarten falsch vollzogen hat, findet wieder Anschluß über die Dateien auf der beigefügten CD.
Zweifelsohne ist es nicht einfach, Effekte zu wählen, die gleichermaßen anspruchsvoll und interessant sind. Allerdings reklamiert das Buch durch seinen Untertitel Fortgeschrittene als Zielgruppe. Angesicht dessen scheinen dann doch manche Effekte recht banal zu sein und eignen sich eher für AS-Einsteiger, zumal sie nur eine Handvoll recht simpler Codezeilen umfassen. So kann man darüber streiten, ob folgende Effekte wirklich das Niveau von Fortgeschrittenen voraussetzen: Schrift-Effekt (Schreibschrift), Schreibmaschine, Scroll-Effekt mit Blur, TV-Rauschen, Farbwähler, um einige Beispiele zu nennen. Manche Effekte sind schlicht unschön, etwa die Bewegung der Spinne (Zufallsanimation), oder unrealistisch (Farbrauschen TV). An der einen oder anderen Stelle müsste effektiver programmiert werden (z.B. Pflanzengenerator, der einen schönen Effekt umsetzt, aber eine noch optimierfähige Vorgehensweise wählt. Notwendig wäre eine Optimierung der Framerate durch die Verwendung der BitmapData-Klasse, wie es schon Grant Skinner mit seinem Varicose-Experiment vor Jahren demonstriert hat. Gegebenenfalls könnte man auch rekursiv programmieren, was sich gerade bei diesem Thema anbieten würde, da viele Schritte auf den gleichen Prozess zurück geführt werden können - aber das ist natürlich kein „Muß“).
Wenn es irgendein Kapitel gibt, an dem man grundlegend Kritik üben müsste, dann wäre es „Flash-Physics und 3D-Programmierung“ – denn von 3D-Programmierung kann hier trotz der Überschrift mitnichten die Rede sein. Weder das einführende Kapitel noch die Workshops erläutern oder realisieren 3D-Effekte. Vorgestellt wird lediglich Pseudo-3D, bei dem die dritte Dimension durch Skalierung und Deckkraft vorgetäuscht wird. Dabei ist Flash schon längst in der Lage, per Matrizenrechnung echte 3D-Grafiken zu erstellen, eine Vorgehensweise, die mit Flash 8 noch komfortabler gestaltet wurde. Im Internet liegen bereits mehrere 3D-Engines bzw. Klassen vor, die auf diese Weise realisiert wurden (wenn auch notwendigerweise die Performance alles andere als gut ist). Die erwähnte Überschrift weckt daher in einam an Fortgeschrittene gewandten Buch Erwartungen, die an dieser Stelle nicht erfüllt werden – schade.
Wie die meisten anderen Bücher des Galileo-Verlages vermag auch das vorliegende Buch optisch in jeder Hinsicht zu überzeugen.Fazit: Das Buch stößt zwar in eine Lücke, insofern es über das hinaus geht, was man ansonsten in einem deutschsprachigen Flash-Buch geboten bekommt. Aber es müsste noch etwas stärker für eine Orientierung des Lesers gesorgt werden, indem deutlicher ein roter Faden erkennbar wird, die Skripte sollten hinsichtlich der gewählten Vorgehensweise (prozedural vs OOP, AS 2.0 vs 3.0) vereinheitlicht werden, manche Effekte könnte man durch andere, anspruchsvollere Effekte ersetzen. Und das Kapitel re 3D-Programmierung müsste das halten, was es verspricht. Wenn man das Buch dennoch in der jetzigen Form empfehlen kann, dann vor allem deshalb, weil es didaktisch ausgezeichnet aufgebaut ist und in geballter Form eine Vielzahl an Workshops bietet, die man sich ansonsten im Internet mühsam zusammen suchen müsste.
Zum günstigen Anbieter</a>