mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mi 17.04.2024 00:40 Benutzername: Passwort: Auto-Login

Thema: Flash/AS: Text aus XML wird nicht dargestellt vom 24.07.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> Flash/AS: Text aus XML wird nicht dargestellt
Seite: 1, 2  Weiter
Autor Nachricht
sahnemuh
Threadersteller

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Fr 24.07.2009 11:03
Titel

Flash/AS: Text aus XML wird nicht dargestellt

Antworten mit Zitat Zum Seitenanfang

Moinsen, ich schon wieder Lächel

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 bei bestimmten Aktionen aber den gesamten Hintergrund + die Textfelder verschieben möchte, brauche ich aber einen "Sammelclip", in dem sich alle Textfelder befinden.

Hier mal die entsprechende Stelle:

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 gesamte AS
Hier alles, inklusive .fla


Zuletzt bearbeitet von sahnemuh am Fr 24.07.2009 11:05, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
sahnemuh
Threadersteller

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst So 26.07.2009 15:46
Titel

Antworten mit Zitat Zum Seitenanfang

keiner? *Schnief*
  View user's profile Private Nachricht senden
Anzeige
Anzeige
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst So 26.07.2009 18:00
Titel

Antworten mit Zitat Zum Seitenanfang

morgenfrüh gerne, heute nich mehr Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
sahnemuh
Threadersteller

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Mo 27.07.2009 12:53
Titel

Antworten mit Zitat Zum Seitenanfang

damit würdest du mich sehr glücklich machen * Applaus, Applaus *
  View user's profile Private Nachricht senden
MR.WUT4

Dabei seit: 10.01.2007
Ort: Düsseldorf
Alter: 36
Geschlecht: Männlich
Verfasst Di 28.07.2009 16:30
Titel

Antworten mit Zitat Zum Seitenanfang

Das geht ohne weiteres mit dem von dir geposteten Script.

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);
}


Du darfst allerdings nicht vergessen das du die X/Y Koordinaten ausgehend von der Position deiner Containers angeben musst.

in deiner XML:

statt:
Code:
<section label="Ebene 1.1" instance_name="ebene_1_1" posx="206" posy="121">


das hier:
Code:
<section label="Ebene 1.1" instance_name="ebene_1_1" posx="750" posy="840">



So solltest du das Textfeld dann auch sehen.
Schöner wäre es natrülich wenn dein "bgclip" auch auf 0/0 liegt und du seine Skalierung aufhebst. Dann könntest du dir das rechnen sparen.

Nen Gruß,
der O.


Zuletzt bearbeitet von MR.WUT4 am Di 28.07.2009 16:37, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Di 28.07.2009 18:39
Titel

Antworten mit Zitat Zum Seitenanfang

Oder einfach nicht in den Clip einpflanzen sondern für alle deine Linkinstanzen eine eigene Ebene einziehen.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
sahnemuh
Threadersteller

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Mi 29.07.2009 19:10
Titel

Antworten mit Zitat Zum Seitenanfang

Ich hab' jetzt den bgclip wie vorgeschlagen auf 0/0 positioniert -> funktioniert super. Vielen Dank dafür!


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];
            
            } 
         
         }
      }
   }
   
   
}


Zuletzt bearbeitet von sahnemuh am Mi 29.07.2009 19:23, insgesamt 3-mal bearbeitet
  View user's profile Private Nachricht senden
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Mi 29.07.2009 20:34
Titel

Antworten mit Zitat Zum Seitenanfang

Weil "xmlObject" eine nur ein Parameter deiner Funktion ist, und keine "wirkliche" Variable. Parameter sterben, genau wie Methoden-Variablen, wenn die Methode abgefrühstrückt ist. Wenn Du das XML.Objekt behalten willst, muss Du dir dafür eine richtige Varible anlegen.

Aber letzten Endes ist das Unfug. Der Gedanke mit dem "Behelfsarray" ist da schon viel besser.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen PowerPoint - Text unterschiedlich dargestellt
text in flashseite wird am mac fehlerhaft dargestellt
text variable wird nicht richtig dargestellt
Flash wird nicht dargestellt
LoadMovie wird im IE nicht dargestellt, Flash...
Schatten aus PNG wird auf Flash nicht dargestellt.
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Multimedia


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.