Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-07-2009, 10:27   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 7
Text aus XML wird in bestimmtem Movieclip nicht dargestellt

Halli Hallo!

Folgendes Problem habe ich: Ich lese aus einer XML Datei Text aus, der im Flashfilm auch super dargestellt wird, sofern ich das Textfeld im _root erstelle.
Versuche ich diesen Text aber innerhalb eines bestehenden MCs anzuzeigen, ist der Text schlichtweg verschwunden.
Da ich später bei bestimmten Aktionen aber den gesamten Hintergrund + die Textfelder verschieben möchte, brauche ich aber einen "Sammelclip", in dem sich alle Textfelder befinden.

So funktioniert es nicht:
Code:
// 1. Ebene erzeugen
function buildSection(obj) {
   _root.bgclip.createTextField(obj.attributes.instance_name, _root.bgclip.getNextHighestDepth(),obj.attributes.posx, obj.attributes.posy, 1, 1);
   tmpField = eval("_root.bgclip." + obj.attributes.instance_name);
   tmpField.multiline = false;
   tmpField.wordWrap = false;
   tmpField.embedFonts = true;
   tmpField.selectable = false;
   tmpField.autoSize = "left";
   tmpField.text = obj.attributes.label;
   tmpField.setTextFormat(univers_big);
}

So funktioniert es:
Code:
// 1. Ebene erzeugen
function buildSection(obj) {
   _root.createTextField(obj.attributes.instance_name, _root.bgclip.getNextHighestDepth(),obj.attributes.posx, obj.attributes.posy, 1, 1);
   tmpField = eval("_root." + obj.attributes.instance_name);
   tmpField.multiline = false;
   tmpField.wordWrap = false;
   tmpField.embedFonts = true;
   tmpField.selectable = false;
   tmpField.autoSize = "left";
   tmpField.text = obj.attributes.label;
   tmpField.setTextFormat(univers_big);
}


Hier gibt's das AS

Hier alles inklusive .fla


Für Tips wäre ich wirklich dankbar. Ich bin mit meinem Latein ein wenig am Ende...
sahnemuh ist offline   Mit Zitat antworten
Alt 24-07-2009, 11:24   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Der Download der fla funktioniert irgendwie nicht
bzw. lässt sich das zip nicht dekomprimieren.

Probiere mal anstelle von ...

tmpField = eval("_root.bgclip." + obj.attributes.instance_name);

... es so zu schreiben.

tmpField = _root.bgclip[obj.attributes.instance_name];

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 24-07-2009, 11:44   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 7
Hi Gaspode,
ich hab' das .zip noch mal neu hochgeladen. Sollte jetzt eigentlich funktionieren.
Deinen Tip hat leider nicht geholfen
sahnemuh ist offline   Mit Zitat antworten
Alt 25-07-2009, 14:03   #4 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Kannst Du die fla eventuell als CS3 abspeichern?
Sonst kann ich sie leider nicht öffnen.

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 26-07-2009, 00:35   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 7
ich habe es als cs3 abgespeichert und neu hochgeladen.

schon mal vielen dank für deine hilfe!
sahnemuh ist offline   Mit Zitat antworten
Alt 27-07-2009, 13:16   #6 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
»Lustiger« Fehler. Es ging die ganze Zeit schon. Nur hat der
bgclip seinen Ursprung sehr weit ausserhalb der Bühne, wes-
wegen der Text auch ausserhalb der Bühne angezeigt wurde.
Ich habe das jetzt mal angepasst und ihn an die Mitte gesetzt
(den Hintergrund habe ich rausgenommen, damit ich die fla
hier hochladen kann).

gruß, gaspode
Angehängte Dateien
Dateityp: fla mgiNeu.fla (31,0 KB, 3x aufgerufen)
gaspode ist offline   Mit Zitat antworten
Alt 29-07-2009, 19:31   #7 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 7
Ich habe den bgclip jetzt unskaliert auf 0/0 positioniert. das funktioniert so weit super - vielen dank für deine hilfe gaspode!


Eine andere Frage hätte ich noch:
Um später Ebenen ein- und auszublenden und für ein bißchen anderen Krams, wollte ich, damit nicht ständig das XML-File parsen muß, ein "Behelfsarray" anlegen in dem die Nodes aus dem XML als Objekte gespeichert werden.
Innerhalb der Funktion die das XML parsed kann ich auf die Nodes/Objekte auch zugreifen (trace(_root.sectionsArray[j].label) liefert mir z.B. etwas zurück), nachher aber nicht mehr (trace(_root.sectionsArray[0].label)), obwohl ich die Variable vorher und im _root initialisiere.

Wo ist da der Denkfehler?

Code:
// behelfsarray initialisieren
_root.sectionsArray = new Array();

// XML parsen
function loadXML(xmlObject) {
         
   for(var i = 0; i < xmlObject.childNodes.length; ++i) {
   
      //sections
      for(var j = 0; j < xmlObject.childNodes[i].childNodes.length; j++) {
   
      // texte erzeugen
      buildSection(xmlObject.childNodes[i].childNodes[j]);
      
      _root.sectionsArray[j] = xmlObject.childNodes[i].childNodes[j]
      
      //subsections
        for(var k = 0; k < xmlObject.childNodes[i].childNodes[j].childNodes.length; k++) {
         
         // texte erzeugen
         buildSubSection(xmlObject.childNodes[i].childNodes[j].childNodes[k]);
         
         // behelfsarray befüllen
         _root.sectionsArray[j][k] = xmlObject.childNodes[i].childNodes[j].childNodes[k];
         
            // links
            for(var l = 0; l < xmlObject.childNodes[i].childNodes[j].childNodes[k].childNodes.length; l++) {

            // texte erzeugen
            buildLink(xmlObject.childNodes[i].childNodes[j].childNodes[k],xmlObject.childNodes[i].childNodes[j].childNodes[k].childNodes[l]);
            
            // behelfsarray befüllen
            _root.sectionsArray[j][k][l] = xmlObject.childNodes[i].childNodes[j].childNodes[k].childNodes[l];
            
            } 
         
         }
      }
   }
   
   
}
sahnemuh 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 09:51 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele