Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-09-2005, 17:13   #1 (permalink)
Neuer User
 
Benutzerbild von Goya
 
Registriert seit: Jul 2003
Beiträge: 148
Button aus XML

Folgende Situation:
Ich habe 2 dynamische Textfelder. In Textfeld A werden aus einer XML-Datei verschiedene Menüpunkte eingeladen. Die werden auch brav angezeigt.
So, nun möchte ich die geladenen Menütexte mit Links versehen, so dass bei einem Klick auf einen Menüpunkt , in Textfeld B ein SWF-Datei eingeladen wird.
Hier der bisherige Code:
ActionScript:
  1. var xmlDatei:XML = new XML();
  2. xmlDatei.ignoreWhite = true;
  3. xmlDatei.load ("menue.xml");
  4. xmlDatei.onLoad = function ()
  5. {
  6.   var knotenAnzahl:Number = xmlDatei.firstChild.childNodes.length;
  7.   var knotenAnzeige:String = "";
  8.   for (var i:Number = 0; i < knotenAnzahl; i++)
  9.   {
  10.     node = xmlDatei.firstChild.childNodes[i];
  11.     for (var eachAttr in node.attributes)
  12.     {
  13.       knotenAnzeige += "\n" + node.attributes[eachAttr] + "\n";
  14.     }
  15.     }
  16.     textfeldA.text = knotenAnzeige;
  17. }
Das für mich unlösbare Problem besteht jetzt halt darin, die Menüpunkte mit Links zu verschiedenen SWF-Dateien zu versehen.
Für Hilfe wäre ich dankbar.
Goya ist offline   Mit Zitat antworten
Alt 12-09-2005, 17:28   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
Wenn ich das richtig sehe, dann lädst du alle Menüpunkte in ein einziges Textfeld. Wenn du das tatsächlich so machen willst, wäre die einzige Möglichkeit, das Textfeld als html-Textfeld zu deklarieren, die einzelnen Punkte als Link darzustellen und über asfunction eine Funktion aufzurufen.
Ist aber reichlich umständlich. Besser ein Textfeld in einen MC packen, den dann aus der Bibliothek je nach Menüpunkteanzahl in der Schleife zu attachen und da jeweils einen onRelease draufzulegen. Dann ist's eigentlich easy...

edit: Bin gerade gut drauf. Anhang gucken . Ist zwar nicht XML aber das sollte einfach anzupassen sein.
Angehängte Dateien
Dateityp: rar buttons.rar (4,4 KB, 10x aufgerufen)
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++

Geändert von Der Frager (12-09-2005 um 17:39 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 12-09-2005, 17:48   #3 (permalink)
Neuer User
 
Benutzerbild von Goya
 
Registriert seit: Jul 2003
Beiträge: 148
Danke, probier' ich gleich mal aus.
Goya ist offline   Mit Zitat antworten
Alt 12-09-2005, 20:23   #4 (permalink)
Neuer User
 
Benutzerbild von Goya
 
Registriert seit: Jul 2003
Beiträge: 148
So, danke für Deine Mühe, Frager.
Entgegen Deiner Vermutung, habe ich das ziemlich simpel über die asfunction-Funktion gelöst.
Sieht dann so aus:
ActionScript:
  1. var xmlDatei:XML = new XML();
  2. xmlDatei.ignoreWhite = true;
  3. xmlDatei.load ("menue.xml");
  4. xmlDatei.onLoad = function ()
  5. {
  6.         var knotenAnzahl:Number = xmlDatei.firstChild.childNodes.length;
  7.         var knotenAnzeige:String = "";
  8.         for (var i:Number = 0; i < knotenAnzahl; i++)
  9.         {
  10.                 node = xmlDatei.firstChild.childNodes[i];
  11.                 for (var eachAttr in node.attributes)
  12.                 {
  13.                         knotenAnzeige += "<a href=\"asfunction:ladeExtSWF
  14. ,"+node.attributes[eachAttr].toString()+"\">"+"\n"
  15. + node.attributes[eachAttr]+ "\n"+ "</a>";
  16.                 }
  17.         }
  18.         textfeldA.html = true;
  19.         textfeldA.htmlText = knotenAnzeige;
  20. }

In der asfunction lese ich den Namen eines Menüpunktes aus, der dann gleichzeitig der Name der externen SWF ist; also quasi:
Menüpunkt: Zeichnen einer Kurve
Externe Datei: Zeichnen einer Kurve.swf
In dem Code fehlen noch ein paar Backslash, die werden hier im Forum irgendwie nicht angezeigt.
Goya ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 00:05 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele