CARGAR ESTILOS EN UN XML
2 seguidores
Wenas chavales/as!!
Que tal andamos?... ya es jueves... un poco menos estresados si...
Mi pregunta es la siguiente (soy novato en esto):
- Quiero aplicar estilos a un XML que cargo desde un texto dinámico en flash, ¿es posible esto?.
El texto dinámico de Flash tiene activadas las propiedades de HTML y al cargar los datos del XML en flash juego con ellas y todo, pero... ¿y los estilos?
Gracias chic@s.
isma
Gracias por la dirección, esta genial, me sirve de mucho. A ver si me pongo manos a la obra con ello.
http://www.ismaserrano.tk
Usuario desconocido
Aká tenés un ejemplo muy bueno (pero simple) de implementación...en el mismo site hay uno de carga dinámica de XML con utilización de CSS externo també.
http://www.actionscript.org/tutorials/beginner/XML-Formatted_Content/index.shtml
A10!. ;-)
isma
Esto es lo que tengo en el XML:
<xmlfile>
<item>
<id>13</id>
<title>PERFIL</title>
<date>6-05-2004</date>
<url>http://www.ismaserrano.tk/</url>
<news><![CDATA[Aquí texto<BR>salto de línea, y mas texto]]></news>
</item>
</xmlfile>
Y en el primer frame del flash:
maxRows = 6;
maxPages = 19;
windowWidth = 400;
stageWidth = 500;
currentPage = 0;
XML_filename = "menu.xml";
xmlfile.status = "<FONT COLOR='#FF0000'>Cargando</FONT> datos-XML desde <FONT COLOR='#FF6600'>"+XML_filename+"</FONT> espera un momento...";
myXml = new XML();
myXml.ignoreWhite = true;
myXml.load(XML_filename);
myXml.onLoad = ParseXml;
function ParseXml() {
if (myXml.loaded && this.hasChildNodes) {
root = this.firstChild;
nodes = new Array();
nodes = root.childNodes;
ids = new Array();
titles = new Array();
dates = new Array();
urls = new Array();
news = new Array();
for (i=0; i<nodes.length; i++) {
ids[i] = nodes[i].childNodes[0].childNodes;
titles[i] = nodes[i].childNodes[1].childNodes;
dates[i] = nodes[i].childNodes[2].childNodes;
urls[i] = nodes[i].childNodes[3].childNodes;
news[i] = nodes[i].childNodes[4].childNodes;
}
xmlfile.status = "<FONT COLOR='#999999'>OK!";
xmlfile.XMLloader.XMLloaded = true;
doAll();
} else {
xmlfile.status = "<FONT COLOR='#FF0000'>Datos-XML: </FONT> ERROR! fallo en la carga de datos del archivo <FONT COLOR='#FF6600'>"+XML_filename+"</FONT>";
}
}
function CalcPages() {
if (ids.length > maxRows) {
pages = Math.ceil(ids.length/maxRows);
if (pages > maxPages) {
pages = maxPages;
}
loops = maxRows;
} else {
pages = 1;
loops = ids.length;
}
}
function drawPageNrs() {
for (i = 2; i < pages+1; i++) {
duplicateMovieClip(xmlfile.buttonpages.button, "button"+i, i);
bttn = "button"+i;
xmlfile.buttonpages[bttn]._x = 20*i-xmlfile.buttonpages.button._width+1;
xmlfile.buttonpages[bttn].num = i;
}
xmlfile.buttonpages.onstageX = windowWidth/2 - xmlfile.buttonpages._width/2 - 5;
xmlfile.buttonpages._x = xmlfile.buttonpages.onstageX;
xmlfile.buttonpages._y = 145;
}
function drawTitles(pageN) {
j = 0;
for (i = (pageN*maxRows); i < (pageN*maxRows)+loops; i++) {
if (i < ids.length) {
duplicateMovieClip(xmlfile.title_mc, "title"+i, i);
duplicateMovieClip(xmlfile.news_mc, "news"+i, maxPages+i);
xmlfile["title" + i]._x = 0;
xmlfile["title" + i]._y = 20 + xmlfile.title_mc._height*j;
xmlfile["title" + i].number = i;
xmlfile["news" + i].number = i;
j += 1;
}
}
}
function removeTitles() {
for (i=0; i < ids.length+1; i++) {
removeMovieClip("xmlfile.title"+i);
}
}
function doAll() {
CalcPages();
drawPageNrs();
drawTitles(currentPage);
}
Y luego dentro del mx 'xmlfile' el clip 'news_mc', el cual tiene en el fotograma:
title.htmlText = _root.titles[0];
reroute = title.text;
title.htmlText = reroute;
myDate = _root.dates[0];
news.htmlText = _root.news[0];
reroute = news.text;
news.htmlText = reroute;
Y así hago mi sistema de 'news', al que quiero incorporar 'estilos'.
Gracias por las sugerencias que vengan! ;)
klein
Puedes poner el ejemplo para que lo veamos online? Estás hablando de trabajar con la clase TextField.StyleSheet, no?