|
Beiträge: 992 Wohnort: ..::LAGE::.. Registriert: Apr 2006
| 12.01.2007, 19:59
Hallo
ich habe dir Frage vorhin schon mal gestellt ( http://flashhilfe.de/forum/flash-im-www/undefined-bei-xml-ausgabe-196370-196370.html#196515 ). Ich mache jetzt aber mal ein neues Thema auf...
Leider schaffe ich es immer noch nicht den Text mit CSS zu formatieren. Ich bekomme immer nur Fehlermeldungen. Ich verstehe die Syntax dabei einfach nicht.
Weiß mir da jemand zu helfen?
PHP:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
<? .headline {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 40px;
color: #000000;
font-weight: bold;
line-height: 30px;
}
.infos {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 16px;
color: #000000;
font-weight: normal;
line-height: 20px;
} ?>
|
ActionScript:1 2 3 4 5 6 7 | var styleObj = new TextField.StyleSheet();
styleObj.load("styles.css");
styleObj.onLoad = function (geladen) {
if(geladen) {
trace("CSS wurde vollständig geladen");
}
}
|
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | varXML = new XML();
varXML.onLoad = meineXML;
varXML.load("news.xml");
MC.t.text = "";
function meineXML() {
A = new XML();
B = new XML();
ary_01 = new Array();
ary_02 = new Array();
A = this.firstChild.nextSibling;
MC.meinTxt.text = A.nodeName.toUpperCase();
ary_01 = A.childNodes;
for (i=0; i<ary_01.length; i++) {
ary_02= ary_01[i].childNodes;
for (j=0; j<=ary_02.length; j++) {
B = ary_02[j];
tag = B.nodeName.toLowerCase();
if (tag == "headline") {
MC.t.text = MC.t.text+B.firstChild.nodeValue+ "\n";
} else {
if (tag == "infos1") {
MC.t.text = MC.t.text+B.firstChild.nodeValue+"\n";
} else {
if (tag == "infos2") {
MC.t.text = MC.t.text+B.firstChild.nodeValue+"\n\n";
}
}
}
}
}
}
|
Danke schonmal
flo
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring |
|
|
Beiträge: 2827 Wohnort: Bayern Registriert: Aug 2005
| 12.01.2007, 20:30
Also ich mein vorallem, du solltest den Text erst zuweisen wenn die CSS geladen wurde. Schau mal hier: http://flashhilfe.de/forum/tipps-tricks/as2-0-klasse-ticker-0-2-beta-196526-196526.html
verwendet auch das StyleSheet Objekt auf Textfelder!
|
|
|
Beiträge: 992 Wohnort: ..::LAGE::.. Registriert: Apr 2006
Themenautor/in
| 12.01.2007, 20:45
hmmm.... das ist natürlich sehr umfangreich. so richtig blicke ich bei dem script nicht durch zumal ich mich noch nicht so richtig an AS2 rantraue.
Ich hatte mir aber auch noch einen anderen Beitrag durchgelesen:
http://flashhilfe.de/forum/tipps-tricks/as-2-0-beispiele-95798-95798.html
Aber das funktioniert irgendwie nicht. Ich werde das script gleich mal so umbauen, dass die CSS vorher geladen wird... wies dann weiter geht weiß ich aber nicht.
Aber danke schonmal
flo
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring |
|
|
Beiträge: 992 Wohnort: ..::LAGE::.. Registriert: Apr 2006
Themenautor/in
| 14.01.2007, 21:13
hallo,
verzeiht mir dass ich wieder frage, aber ich komme einfach nicht weiter hiermit.
ich hoffe ihr findet einen fehler...
ist das syteObj dem text nicht richtig zugeordnet?
ActionScript:1 | MC.t.styleSheet = _global.styleObj;
|
oder ist diese zeile falsch?
ActionScript:1 | MC.t.text = "<headline>" + MC.t.text+B.firstChild.nodeValue + "</headline>" + "\n";
|
ich kann leider nichts im forum finden, was ein ähnliches problem erklärt...
flo
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
Angehängte Dateien:
|
|
|
Beiträge: 2827 Wohnort: Bayern Registriert: Aug 2005
| 14.01.2007, 23:00
ui wenn du ne klasse definierst (.headline) muss es <span class="headline"></span> lauten! (span is nur beispiel)
|
|
|
Beiträge: 992 Wohnort: ..::LAGE::.. Registriert: Apr 2006
Themenautor/in
| 14.01.2007, 23:09
hmmm... ich hatte das schon mal probiert, aber immer fehlermeldungen bekommen wie z.B. (Auf Operator '=' muss ein Operand folgen) oder andere syntaxfehler
Vieleicht hab ich die span-class auch nur falsch angewand.
gibt es denn vl. eine andere lösung dafür? außer dass ich viele verschiedene textfelder untereinander (eins für die headline, ...) auf die bühne bringe...
ist schon irgenwie komisch.
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring |
|
|
Beiträge: 2827 Wohnort: Bayern Registriert: Aug 2005
| 14.01.2007, 23:12
Wieso sollte es in einem String zu einem Syntaxfehler kommen?! Das is aber Quatsch...
Abgesehen davon musst du HTML Text setzen!
ActionScript:1 2 | MC.t.html = true;
MC.t.htmlText = "<span class=\"headline\">" + MC.t.text+B.firstChild.nodeValue + "</span>" + "\n";
|
|
|
|
Beiträge: 992 Wohnort: ..::LAGE::.. Registriert: Apr 2006
Themenautor/in
| 14.01.2007, 23:25
ne. klappt wieder nicht...
ich bekomme zwar keine fehlermeldung mehr, aber die formatierung wird nicht übernommen...
hier mal die nötigen daten, wenn jemand helfen will
http://heimatdesign.com/ordner.rar
gruß
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring |
|
|
Beiträge: 2827 Wohnort: Bayern Registriert: Aug 2005
| 15.01.2007, 12:28
Leider finde ich den Beitrag von Sebastian nicht mehr, indem er neue Funktionen in Flash8 vorgestellt hat. Da gibts auch Sachen zu lesen die man bei StyleSheet beachten sollte.
aber in der example1 und 2 müsste der Link drinnestehen (in meinem Ticker) relativ weit oben!
|
|
|
Beiträge: 992 Wohnort: ..::LAGE::.. Registriert: Apr 2006
Themenautor/in
| 15.01.2007, 14:27
hey burnZ,
ich werd mir das dann nach der arbeit nochmal anschauen. der einzige beitrag von sebastian der passen könnte wäre vl dieser hier:
http://flashhilfe.de/forum/tipps-tricks/as-2-0-beispiele-95798-95798.html
unter den flashkursen > mx2004 > as2 beispiele
den hatte ich schon angeschaut, aber demnach müsste das script "eigentlich" richtig sein.
hmmm... naja. vl weiß ja einer der moderatoren bescheit
vielen dank jedenfalls schonmal an alle!
flo
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring |
|
|
Beiträge: 992 Wohnort: ..::LAGE::.. Registriert: Apr 2006
Themenautor/in
| 15.01.2007, 21:32
hmmm...
ich habs jetzt wie in deinem script mit einem internen stylesheet objekt versucht
ActionScript:1 | news.css = '.schlagzeile {font-family: Arial; color:#339900;}';
|
aber wenn ich die ausgabe wie gehabt zwischen die span-tags schreibe bekomme ich trotzdem keine formatierung.
ActionScript:1 | MC.t.htmlText = "<span class=\"schlagzeile\">" + MC.t.text+B.firstChild.nodeValue + "</span>" + "\n";
|
Muss ich das mit einem stylesheet objekt anders schreiben?
ich hab mir auch schon alles in der flash-referenz durchgelesen, aber trete echt auf der stelle. bei meiner neuen seite kann ich leider nicht auf die news verzichten, sonst würde ich euch in ruhe lassen...
sorry
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring |
|
|
Beiträge: 299 Wohnort: Ingolstadt a. d.
schönen Donau Registriert: May 2003
| 16.01.2007, 01:53
Nunja, irgendwie ganz schön umständlich...
ChildNodes sind bereits Arrays, für was die Umwandelerei.
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | import TextField.StyleSheet;
var styles:TextField.StyleSheet = new TextField.StyleSheet();
styles.setStyle("headline", {fontFamily:'Verdana', fontSize:'40px', color:'#333333', fontWeight:'bold'});
styles.setStyle("infos1", {fontFamily:'Trebuchet MS', fontSize:'20px', color:'#999999'});
styles.setStyle("infos2", {fontFamily:'Courier New', fontSize:'16px', color:'#FF0000'});
//
var txt = this.createTextField("tF", this.getNextHighestDepth(), 0, 0, 300, 100);
txt.html = true;
txt.multiline = true;
txt.wordWrap = true;
txt.autoSize = true;
txt.styleSheet = styles;
//
var str:String = "";
str += "<myData>";
str += "<headline>headline1</headline>";
str += "<infos1>erste infozeile</infos1>";
str += "<infos2>zweite infozeile</infos2>";
str += "</myData>";
str += "<myData>";
str += "<headline>headline2</headline>";
str += "<infos1>infozeile....</infos1>";
str += "<infos2>infozeile....</infos2>";
str += "</myData>";
//
var XMLhtml:XML = new XML();
XMLhtml.ignoreWhite = true;
XMLhtml.parseXML(str);
//
for (var node:XMLNode = XMLhtml.firstChild; node != null; node=node.nextSibling) {
txt.htmlText += node + "
";
}
|
Grüße ToBSn
Gruss ToBSn |
|
|
Beiträge: 992 Wohnort: ..::LAGE::.. Registriert: Apr 2006
Themenautor/in
| 16.01.2007, 09:56
hmmm.... ok da hast du recht.
ich kanns jetzt leider nicht testen, aber ich melde mich später dazu. vielen dank erstmal!!!!
gruß
derFloh
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring |
|
|
Beiträge: 992 Wohnort: ..::LAGE::.. Registriert: Apr 2006
Themenautor/in
| 16.01.2007, 14:03
hmm... ok,
ich arbeite jetzt mit internen stylesheets... erstelle mir dann ein textfeld, und dann? wofür schreibe ich jetzt den kompletten inhalt der xml in die flashdatei?
ActionScript:1 2 3 4 5 6 7 | var str:String = "";
str += "<myData>";
str += "<headline>headline1</headline>";
str += "<infos1>erste infozeile</infos1>";
str += "<infos2>zweite infozeile</infos2>";
str += "</myData>";
...
|
dann muss ich diese ja immer mitändern... oder hab ich das script nicht verstanden?
gruß
derfloh
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring |
|
|
Beiträge: 299 Wohnort: Ingolstadt a. d.
schönen Donau Registriert: May 2003
| 16.01.2007, 14:35
Hallo Flo,
du kannst dein CSS und das XML natürlich wieder extern laden.
Ich habe das Script nur zur Demo so aufgebaut das man es nachvollziehen kann.
Grüße ToBSn
Gruss ToBSn |
|
|
Beiträge: 992 Wohnort: ..::LAGE::.. Registriert: Apr 2006
Themenautor/in
| 16.01.2007, 15:11
hi,
ok gut!
Eine Frage noch: wie ist die Ausgabe hier aufgebaut? Mit dem " += " (txt.htmlText +=) weiß ich gerade nicht viel anzufangen, weil wir in der for-schleife doch schon die knotenpunkte durchlaufen.
kann ich die texte dann nicht so ausgeben? (ich schreibe das gerade ohne es testen zu können, sorry)
ActionScript:1 | txt.htmlText = "<span class=\"headline\">" + node + "</span>" + "\n";
|
danke dir für deine mühen!
flo
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring |
|