|
Aus diesen Werten werden weitere Datentypen abgeleitet, z.B. der Datentyp RECT, der exemplarisch
näher aufgeschlüsselt werden soll. Der Datentyp RECT enthält die Koordinaten
für ein Rechteck (Tabelle 3) und wird unterschiedlich genutzt, z.B. als Definition für die
Größe eines Flashfilmes oder zur Definition eines Rechteckobjektes im Film.
|
In der Datenstruktur RECT ist zunächst ein Feld von fünf Unsigned Bits enthalten. In diesem Feld
wird festgelegt, wieviele Bits für die weiteren Datenfelder benötigt werden. So ist es möglich, die
Bitlänge für unterschiedlich große Koordinaten variabel zu halten ohne spezielle Markierungen einzuführen, wann der
nächste Koordinatenwert beginnt. Dies wird einfach über die vorher definierte Länge ermittelt.
So wie die RECT-Struktur werden auch weitere Strukturen definiert, auf die hier nicht näher eingegangen
werden soll, weitere Informationen sind unter [Macr2001] zu erhalten.
Eine SWF Datei wird immer mit einem Dateiheader, der die Version des Flashfilmes, die
Gesamtlänge der Datei, die Bildwiederholrate, Ausmaße des Filmes
und die Gesamtanzahl der Schlüsselbilder enthält, eingeleitet (Tabelle 4).
|
Nach diesem Header folgen dann die weiteren Tags, die Objekte definieren oder verändern. Eine schematische Abbildung der Dateistruktur ist in der Grafik zu sehen.
Im SWF-Format wird das Ende eines
Tags nicht explizit angegeben, sondern durch die
Längenangabe des Gesamttags ermittelt, die im sogenannten
Recordheader codiert wird. Es werden zwei Recordheader
unterschieden, welche für unterschiedliche Recordlängen
zuständig sind. Der Basis Recordheader enthält als erstes auf
einer Länge von zehn Unsigned Bits eine ID, das ist eine
eindeutige Zeichenkette zur Identifikation des Objektes,
und in den nächsten sechs Unsigned Bits die Gesamtlänge des
Tags. Dieser Header ist für Tags bestimmt, deren Gesamtlänge 63
Byte nicht überschreitet (Tabelle 5).
|
Sollte ein Tag länger sein,
so wird zwischen der ID und der codierten Länge ein
sechsstelliger Unsigned Bit Code mit dem Wert 0x3F
eingefügt. Dieser signalisiert, daß die codierte Länge in
diesem Header im Wertebereich einer Unsigned Integer liegen kann (Tabelle 6).
|
Die ID des Tags, welche im Recordheader angegeben wird, dient
der Ermittlung, welche Art von Objekt folgen wird. Im folgenden soll gezeigt werden, wie eine Action im
SWF-Dateiformat definiert ist.
Als erstes wird das DoAction-Tag in der Tabelle 7 angegeben.
In der Tabelle 8 wird der Datentyp ACTIONRECORD, der die
eigentliche Definition der Aktion enthält, angegeben. Als Beispiel soll hier das
ActionGetURL-Tag vorgestellt werden, mit dem innerhalb
eines Flashfilmes zu einer Webseite gesprungen werden kann.
|
Alle weiteren
Definitionen können den Formatspezifikationen [Macr2001] entnommen werden und sind hier
nicht näher aufgeführt, da sie eine sehr komplexe Struktur besitzen und hier lediglich
der grundlegende Aufbau von SWF-Tags dargestellt werden soll.