XML ermöglicht dynamische Downloads per Flash MX

In jedem Node (oder jeder Seite) dieser einfachen Anwendung geschieht das Folgende:

Zeile 39: Der Movie-Clip pages wird so oft verdoppelt und umbenannt, wie Nodes vorhanden sind. Der Instanzname jeder neuen Kopie beinhaltet Variable j, wodurch jede Kopie eindeutig benannt und der Anwendung vollständig zur Verfügung gestellt wird.

Zeile 40: Der Clip page (1, 2, 3 etc…) wird so häufig, wie Nodes vorhanden sind alle 239 Pixel auf seine _y Position gesetzt.

Zeile 41: page (page1, page2 etc.) wird eine Positionseigenschaft zugeteilt. Dies bedeutet, dass man ein Array mit der Positionseigenschaft der Clipinstanz füllen kann. Außerdem kann man den Wert auch in den Text laden, der in Kürze in das Textfeld menu_txt des Clips menu ausgegeben werden wird.

Zeile 42: Das Titelattribut jedes Nodes wird in das Array titles geschoben. Dies macht den Titel jeder Seite genauso leicht zugänglich wie ihre Position.

Zeile 43: Hier geschieht das gleiche wie in der vorherigen Zeile, mit dem Unterschied, dass nun die Positionseigenschaft jedes kopierten Seitenclips in ein Array mit dem Namen positions verschoben wird.

Nun ist es an der Zeit, eine Ebene tiefer in die XML-Struktur einzutauchen und menu zu laden. In den Zeilen 44 bis 49 wird das Textfeld pageTitle jedes kopierten Movie-Clips pages mit dem Titelattribut jedes XML-Nodes gefüllt, sofern der Node-Name aller „Kinder“ von allNodes page lautet (was auch der Fall ist).

Zeile 46 stellt die Variable linkText auf das Namensattribut jedes Nodes ein, um menu mit dem Namen jeder Seite aus der XML zu laden. Wie in Tabelle F dargestellt, ist das Textfeld menu_text von menu so eingestellt, HTML zu empfangen, und menu selbst wird mit Hilfe unseres Arrays positions und unserer Variablen linkText mit HTML-formatiertem Text gefüttert.

37 j = 0;
38 while (j<allNodes.length) {
39 duplicateMovieClip(_root.pages[„page“], „page“+j, j);
40 setProperty(_root.pages[„page“+j], _y, j*239);
41 _root.pages[„page“+j].location = -j*239;
42 titles.push(allNodes[j].attributes.title);
43 positions.push(_root.pages[„page“+j].location);
44 if (allNodes[j].nodeName == „page“) {
45 _root.pages[„page“+j].pageTitle =
allNodes[j].attributes.title;

46 var linkText = allNodes[j].attributes.name;
47 _root.menu.menu_txt.html = true;
48 _root.menu.menu_txt += „<a href=“asfunction:_root.pageMove,
„+positions[j]+““>“+linkText+“</a><br>“;
49 }
50 j++;
51 }


Tabelle F

Der HTML-formatierte Text enthält Links, die aber nicht auf Webseiten verlinken, sondern stattdessen mit Hilfe von asfunction(), das bereits erwähnt wurde, eine Funktion auf der Zeitleiste ausführen. In Zeile 48 leitet asfunction() die Position jedes kopierten Movie-Clips page an die Funktion pageMove() weiter:


Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu XML ermöglicht dynamische Downloads per Flash MX

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *