Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
marcusm
Threadersteller
Dabei seit: 06.05.2002
Ort: europa
Alter: 45
Geschlecht:
|
Verfasst Di 27.03.2007 23:58
Titel FLASH dyn. erzeugte Elemente aus Hauptzeitleiste formatiere |
|
|
Einen wunderschönen guten Abend
Stehe jetzt in meiner Bemühung dieses Problem zu lösen nach etwa einem halben Tag an der Schwelle zum "Monitor von der Wand reißen und aus dem geschlossenen Fenster befördern".....
Folgendes irgendwie unlösbare Problem:
Ich lese eine XML-Datei ein und möchte die gewonnenen Daten in einem Movieclip ausgeben.
Code: | <?xml version"1.0"?>
<newsticker>
<extern news="Der erste Text" bildpfad="bilder/news/1.jpg"></extern>
<extern news="Und der zweite Text" bildpfad="bilder/news/2.jpg"></extern>
<extern news="Der dritte Text" bildpfad="bilder/news/3.jpg"></extern>
</newsticker> |
Dazu erzeuge ich ein Textfeld für Text und einen MC für ein Bild dazu. Folgender Strukturaufbau ergibt sich:
Hauptzeitleiste (_root) -> mc_news (mc) -> news_kasten (mc) -> tickertext_txt (Textfeld)
Hauptzeitleiste (_root) -> mc_news (mc) -> news_kasten (mc) -> bild_mc (mc für Bild)
Mit folgendem Actionscript versuche ich das zu lösen:
Code: | var ladeInhalte:Function = function() {
for(var i:Number = 0; i < 3; i++){
if(mein_xml.firstChild.childNodes[i].attributes.news){
var Ypsilon = 30 + (110 * i);
var bild_mc:String = "bild_mc_" + i;
var tickertext_txt:String = "text_feld_" + i;
_root.mc_news.news_kasten.createTextField(tickertext_txt, 10 + i, 25, Ypsilon, 300, 90);
_root.mc_news.news_kasten.createEmptyMovieClip(bild_mc, 14 + i);
_root.mc_news.news_kasten.bild_mc._x = 350;
_root.mc_news.news_kasten.bild_mc._y = Ypsilon;
var bild:String = mein_xml.firstChild.childNodes[i].attributes.bildpfad;
var txt:String = mein_xml.firstChild.childNodes[i].attributes.news;
loadMovie(bild, _root.mc_news.news_kasten.bild_mc);
trace(bild + "\n");
var textbox_format:TextFormat = new TextFormat("Arial", 12, 0xffffff);
_root.mc_news.news_kasten.tickertext_txt.setNewTextFormat(textbox_format);
_root.mc_news.news_kasten.tickertext_txt.htmlText = true;
_root.mc_news.news_kasten.tickertext_txt.multiline = true;
_root.mc_news.news_kasten.tickertext_txt.wordWrap = true;
_root.mc_news.news_kasten.tickertext_txt.text = txt;
}
}
} |
Ergebnis, ich sehe nichts, weder der Text noch das Bild wird angezeigt. Fahre ich mit der Maus über die Bereiche, stelle ich fest das die Textfelder existieren müßten, da an diesen Stellen der Mauszeiger auf "Text" umspringt.
Das trace gibt er mir auch aus, die Pfade selber müßten stimmen, lasse ich die Bilder direkt im _root einbinden, sehe ich sie, ebenso den Text.
Der Fehler liegt, vermute ich zumindest, in der Übergabe der Daten an die Objekte.
Hoffe es kann mir jemand weiter helfen...
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Mi 28.03.2007 07:22
Titel
|
|
|
Tausch einfach mal
Code: | var tickertext_txt:String = "text_feld_" + i; |
gegen
Code: | var tickertext_txt:TextField = _root.mc_news.news_kasten.createTextField("text_feld_" + i, 10 + i, 25, Ypsilon, 300, 90); | aus
und schreib dann
Code: | tickertext_txt.setNewTextFormat(textbox_format);
tickertext_txt.html = true;
tickertext_txt.multiline = true;
tickertext_txt.wordWrap = true;
tickertext_txt.text = txt; |
anstatt
Code: | _root.mc_news.news_kasten.tickertext_txt.htmlText = true;
_root.mc_news.news_kasten.tickertext_txt.multiline = true;
_root.mc_news.news_kasten.tickertext_txt.wordWrap = true;
_root.mc_news.news_kasten.tickertext_txt.text = txt; |
Deine Referenzierung ist nämlisch falsch. Das selbe Prinzip gilt auch für deine Bilder. Schau Dir mal das Tutorial zur MovieClipLoader-Klasse an, daß ich hier im Tutorial-Bereich gepostet hab.
|
|
|
|
|
Anzeige
|
|
|
marcusm
Threadersteller
Dabei seit: 06.05.2002
Ort: europa
Alter: 45
Geschlecht:
|
Verfasst Mi 28.03.2007 10:27
Titel
|
|
|
Dank Dir für die Hilfe FlamingArt...
Soweit habe ich es hinbekommen, Bilder werden eingebunden. Allerdings bekomme ich immer noch nicht
einen einzigen Buchstaben zu Gesicht. Die if-Anweisung unten hat als Ergebnis das trace, was mir wiederrum
sowohl das Textfeld ausgibt, als auch den Text der drin stehen müßte. Die Zuweisung des Textes ist der
Knackpunkt....
Code: | var ladeInhalte:Function = function() {
for(var i:Number = 0; i < 3; i++){
if(mein_xml.firstChild.childNodes[i].attributes.news){
var Ypsilon = 40 + (110 * i);
var bild:String = mein_xml.firstChild.childNodes[i].attributes.bildpfad;
var newstext:String = mein_xml.firstChild.childNodes[i].attributes.news;
var bild_mc = _root.mc_news.news_kasten.createEmptyMovieClip("bild_mc" + i, 10 + i);
bild_mc._x = 320;
bild_mc._y = Ypsilon;
loadMovie(bild, bild_mc);
var textbox:TextField = _root.mc_news.news_kasten.createTextField("textfeld_" + i, 14 + i, 25, Ypsilon, 270, 90);
textbox.text = newstext;
if(textbox){
trace(textbox + "\n" + "Text:" + newstext + "\n\n");
}
}
}
} |
Dank Euch
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
|
|
|
|
|
|
|
Ähnliche Themen |
Flash - In der Hauptzeitleiste rückwärts auf knopfdruck a...
Flash / AS3 – Film in Movieclip von Hauptzeitleiste stoppen
[IE] flash elemente aktivieren
[der richtige weg] dynamisch erzeugte <tr>s ein/ausblenden
Flash - Runde Elemente importieren
freigestellte elemente aus photoshop in flash importieren
|
|
|
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.
|
|