Monthly Archive for September, 2008

Tipp Flash CS4: Was macht XFL?

Die Integration der unterschiedlichen Adobe-Formate schreitet dank des neuen XFL-Formates voran. Bei dem neuen XFL Dateiformat handelt es sich um XML-Dateien, in der dieselben Informationen wie in einer proprietären FLA-Datei gespeichert sind. Andere Adobe-Anwendungen wie z. B. InDesign und After Effects können Dateien im XFL-Format speichern. Das Öffnen von XFL-Dateien und das Arbeiten damit erfolgt in Flash genau wie bei FLA-Dateien. Doch von einem echten „Roundtrip“ – also der Übernahme von Änderungen in alle Richtung – kann keine Rede sein. Denn Flash kann bisher XFL-Dateien leider ausschließlich öffnen und die Inhalte dann nur wieder nur in binären FLA-Datei sichern; XFL-Dateien Speichern geht noch nicht. Wer einen Blick in den Konfigurationsordner von Flash wirft, findet dort im Ordner Javascript/Scripts die Datei XFL_import_code.jsfl. Die in JavaScript Flash verfasste Datei beschreibt den Import von XFL-Dokumenten und kann gut als Inspiration für eigene Flash-Erweiterungen – z. B. einem XFL-Exporter für Flash – dienen.

Tipp Flash CS4: Online Zugriff verhindern

Der Erfolg von Flash hängt ganz wesentlich von der Starken Community rund um Flash ab. Und diese Community will sich Adobe offensichtlich stärker zu Nutze machen. Ein Beispiel ist die neue Community Hilfe auf der Adobe Website. Gestützt von Experten aus dem Adobe-Umfeld und der Community soll diese Hilfe die Produktdokumentation mit Inhalten aus dem Web kombinieren und durch moderierte Kommentare ergänzen. Über das Bedienfeld Verbindungen unter dem Menü Fenster -> Erweiterungen -> Verbindungen können Sie den Zugriff von Flash auf die Online-Dienste von Adobe aber konfigurieren. Und mit Hilfe des Optionsmenüs in der rechten oberen Ecke dieses Bedienfelds aktivieren Sie die Offline-Option, so dass Flash dann die lokale Hilfe ohne den Bedarf einer Internetverbindung nutzt.

Tipp Flash CS4: ActionScript Vector und Compiler-Konstanten

ActionScript ist mit Flash CS4 Professional trotz der in den Medien kursierenden Diskussionen rund um die ActionScript-Basis ECMAScript 4 weiter gewachsen (http://www.flashforum.de/forum/showthread.php?t=257795 und http://blogs.adobe.com/open/2008/08/blog_entry_dated_81408_715_pm.html). Die spektakulärste Neuerung aus Sicht von Programmierern könnte dabei der neue Datentype Vector sein. Dieser erlaubt erstmals typisierte und damit typsichere Listen. Die Verwendung geschieht analog zur Klasse Array. Einzig die Typisierung und das Erstellen bedürfen einer neuen Schreibweise mit Angabe des Typs in spitzen Klammern getrennt durch einen Punkt:

1
2
var v:Vector.<String>;
v = new Vector.<String>();

Zu den Neuerungen gehören außerdem die Klassen rund um Text, Pixel Bender (Codename Hydra), 3D und inverse Kinematik. Außerdem kann man nun Sounds zur Laufzeit erzeugen, primitive Formen leichter mit der Graphics-Klasse zeichnen und Dateien auch aus dem Browser heraus per FileReferenc lokal laden und speichern. Und in der Bibliothek ist endlich sichtbar, ob es sich um einen MovieClip, ein Sprite oder ein mit dem Flex Integration Kit für Flash aufbereitetes Symbol handelt. Bei der Zusammenarbeit mit Flex hilft es außerdem sehr, dass Flash nun endlich auch Metadaten wie AccessibilityClass, ResourceBundle, Style, Embed und SWF versteht – nicht nur in Klassen sogar in Bildskripts. Gerade Embed ist auch in reinen Flash Projekten durchaus nützlich, um Inhalte allein durch die Programmierung und ohne den Umweg über die Bibliothek zu nutzen.
Die Einstellungsmöglichkeiten von ActionScript umfassen nicht mehr nur eine Sammlung von Klassenpfaden sondern sind ähnlich wie bei Flex in Quellcode-Pfade, externe Bibliotheken zur Laufzeit (Runtime Shared Libraries) und Bibliohtekspfade zur Kompilierzeit unterteilt. Hinter den ActionScript-Einstellungen im Register Flash der Einstellungen für das Veröffentlichen im Menü Datei verbergen sich nicht nur die Klassenpfade. Dort können auch Konstanten angelegt werden, die wie normale Variablen in ActionScript zu nutzen sind. Außerdem erlauben diese auch eine bedingte Kompilierung, wenn der relevante Code hinter der Konstante in geschweiften Klammern steht:

1
2
3
4
CONFIG::FLASH_AUTHORING {
	trace("Foo");
}
trace(CONFIG::FLASH_AUTHORING);