XML » SVG Presenter - Carto:net
XML » SVG Presenter - Carto:net
XML » SVG Presenter - Carto:net
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.