20.01.2013 Aufrufe

XML » SVG Presenter - Carto:net

XML » SVG Presenter - Carto:net

XML » SVG Presenter - Carto:net

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>XML</strong> <strong>»</strong> <strong>SVG</strong> PRESENTER | STRUKTURIERTE MULTIMEDIA-PRÄSENTATION IM WEB 100<br />

}<br />

movie.Frame(1)->AddObject(rect3);<br />

movie.Frame(2)->RemoveObject(rect3);<br />

rect3->Rotate(FloatToFixed(60.0));<br />

movie.Frame(2)->AddObject(rect3);<br />

// Animation beginnt von vorn ...<br />

movie.WriteMovie("beispiel.swf");// schreibe die SWF-Datei und beende das Programm<br />

delete rect1; delete rect2; delete rect3;<br />

return(0);<br />

Listing 4.5.3.3.1: Der High-Level-Manager im konkreten Beispiel 1<br />

Die etwas ungewöhnlichen Ausmaße und Koordinaten, die auch in [Listing 4.5.3.3.1] deutlich werden,<br />

rühren im Übrigen aus der Tatsache, dass Flash-intern sämtliche Größenangaben stets in so genannten<br />

„Twips“ ( 1 / 1440 inch) abgespeichert werden, einer Auflösungsunabhängigen Einheit. Bei der normal üblichen<br />

Bildschirmauflösung von 72 DPI entsprechen 20 Twips also<br />

einem Pixel. Ein 2000 · 2000 Twips großes Quadrat (wie etwa<br />

jedes der Rechtecke in unserem Beispiel) nimmt somit auf<br />

dem Bildschirm lediglich 100 · 100 Pixel ein.<br />

Bei Ausführen des in [Listing 4.5.3.3.1] angegebenen Quellcodes<br />

wird nun ein lediglich 266 Bytes schlanker Flash-Film<br />

erzeugt – [Abb.4.5.5.3.1] zeigt eine Momentaufnahme des<br />

zweiten Schlüsselbildes, das dritte Quadrat ist bereits um<br />

30 Grad rotiert:<br />

Abb. 4.5.5.3.1 Darstellung des aus [Listing 4.5.3.3.1] erzeugten<br />

SWF-Films (Momentaufnahme)<br />

4.5.3.3.2 Third Party-APIs<br />

Die kostenfreie Bereitstellung dieses – wie im Beispiel gezeigt – äußerst komfortablen Development-Kits<br />

löste im Gegensatz zur reinen Spezifikations-Veröffentlichung einen richtiggehenden „Run“ auf die Entwicklung<br />

Flash-fähiger Export-Module aus: Da die praktische Syntax nun die Konvertierung jeglicher Vektordaten<br />

in das Flash-Format extrem vereinfachte, fand sich bald ein entsprechender SWF-Filter in zahlreichen<br />

(wennauch statischen) Illustrationswerkzeugen wieder – eine schier epidemische Format-Verbreitung,<br />

die Macromedia durch die gezielte Veröffentlichung des SDK nicht nur gut geplant, sondern dank zusätzlichem,<br />

„aggressivem Marketing” [vgl. Raux01] auch überaus konsequent und erfolgreich erreicht hat.<br />

4.5.3.3.2.1 Server-Side Flash<br />

Neben der reinen Anwendung im Rahmen C ++ -basierter Windows- und Macintosh-Anwendungen, für deren<br />

Zwecke das SDK ja ursprünglich konzipiert war, erschien die Funktionalität der<br />

Programmierschnittstelle freilich auch für einen Server-Seitigen Einsatz im Inter<strong>net</strong> zunehmend interessant:<br />

Insbesondere die Erzeugung dynamischer SWF-Dateien, deren Inhalte sich individuell verändern ließen, war<br />

aufgrund der bis dato eingeschränkten und überdies recht umständlichen Datenanbindung des Flash-<br />

Frameworks in diesem Zusammenhang von großem Interesse. Aufgrund der Tatsache, dass C ++ aufgrund<br />

der Komplexität und „Gefährlichkeit“ der Sprache 2 auf nur recht wenigen Inter<strong>net</strong>-Servern als<br />

Skriptsprache zur Anwendung kommt, wurde im Gefolge der SWF-SDK-Veröffentlichung eine schier<br />

unüberschaubare Vielfalt an Flash-Generatoren und Portierungen des Macromedia-SDK zur Serverseitigen<br />

Erzeugung beliebiger Flash-Filme veröffentlicht: Neben recht überschaubaren, C-basierten Lösungen, die<br />

lediglich auf den bereits zuvor bereitgestellten Funktionen aufbauen [BEng00, HeEz01] sowie einfachen,<br />

1 aus: [Star01] p.18<br />

2 Anm: Bei der Erstellung C ++ -basierter Serverprogramme besteht insbesondere die Gefahr unzulässiger Pointer-Befehle, die den gesamten<br />

Server zum Absturz bringen könnten.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!