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:

Page: 1 2 3 4 5 6 7 8

ZDNet.de Redaktion

Recent Posts

Shokz OpenRun Pro 2: Die perfekte Kombination aus Knochenschall und Air-Conduction Technik

Die neuen OpenRun Pro 2 von Shokz sind die neueste Weiterentwicklung der beliebten offenen Sportkopfhörer.…

2 Wochen ago

UPDF: PDF-Software zu einem Viertel des Preises von Adobe

PDF-Bearbeitungssoftware jetzt im Black Friday Sale mit 50 Prozent Rabatt!

2 Wochen ago

Neuer Bedarf an Workplace Services durch DEX und KI

ISG untersucht deutschen Workplace-Services-Markt. Digital Employee Experience (DEX) gilt als Schlüssel für neues Wachstum.

2 Wochen ago

SEO-Beratung von Spezialisten wie WOXOW: Deshalb wird sie immer wichtiger

Wer bei Google mit den passenden Suchbegriffen nicht in den Top-Rankings gefunden wird, der kann…

2 Wochen ago

Umfrage: Weniger als die Hälfte der digitalen Initiativen sind erfolgreich

Unternehmen räumen der Entwicklung technischer und digitaler Führungskompetenzen ein zu geringe Priorität ein. Gartner fordert…

2 Wochen ago

Google schließt zwei Zero-Day-Lücken in Android

Betroffen sind Android 12, 13, 14 und 15. Google sind zielgerichtete Angriffe auf die beiden…

2 Wochen ago