Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/12/2007, 17:48
Moleman
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 18 años
Puntos: 0
Mostrar iconos a partir de valores XML

No sé si habré acertado con el título del post, pero es que no sé realmente cómo preguntarlo...

Os comento lo que quiero hacer: a partir de un documento xml, recuperar ciertos valores, y en un Flash dibujar ciertos iconos a partir de esos valores.

Por ejemplo:

Tengo un mapa del tiempo. Quiero que en cada provincia o zona aparezca un icono de nubes, sol, lluvia, nieve, etc, dependiendo del tiempo que haga en cada provincia.

El valor del tiempo de cada provincia sale en el xml. De este modo:

---------

<?xml version="1.0" encoding="ISO-8859-1"?>
<provincias>
<provincia id="1" provincia ="Madrid" tiempo="nubes" temp="5-12º" />
<provincia id="2" provincia ="Barcelona" tiempo="sol" temp="0-5º" />
<provincia id="3" provincia ="Valencia" tiempo="lluvia" temp="8-15º" />
<provincia id="5" provincia ="Bilbao" tiempo="nieve" temp="5-11º" />
<provincia id="4" provincia ="Sevilla" tiempo="nubes" temp="3-11º" />
</provincias>

---------

Entonces, desde Flash recupero estos valores, de la siguiente forma (perdón por el tocho):

---------

System.useCodepage = true;
XML.prototype.ignoreWhite = true;
datos_txt.autoSize = "left";
datos_xml = new XML();
datos_xml.onLoad = cargarDatos;
provincias_array = new Array();
function cargarDatos(exito) {
if (exito) {
provinciasCargados = this.firstChild.childNodes;
for (var k = 0; provinciasCargados[k]; k++) {
pasar_a_array(provinciasCargados[k]);
}
delete provinciasCargados;
delete datos_xml;
verProvincias();
} else {
}
}
function pasar_a_array(nodo) {
var objetoProvincia = new Object();
var atributos = nodo.attributes;
objetoProvincia.provincia = atributos.provincia;
objetoProvincia.tiempo = atributos.tiempo;
objetoProvincia.temp = atributos.temp;
objetoProvincia.id = Number(atributos.id);
pueblos_array.push(objetoProvincia);
}
function verProvincias() {
escribir = "";
for (var i = 0; provincias_array[i]; i++) {
escribir += "<b>"+provincias_array[i].provincia+": </b>"+provincias_array[i].tiempo+" - <b>Temperatura: </b>"+provincias_array[i].temp+"<br>";
}
// quito el último <br>
escribir = escribir.substring(0, escribir.length-4);
}
datos_xml.load("tiempo.xml");
stop();

---------

Con esto, consigo que en un texto dinámico salgan los valores recogidos del XML: por cada provincia, me pone el valor referente a su tiempo y el valor referente a su temperatura.

Pero lo que quiero es que, además, o en vez de estos valores, salga un icono con el sol dibujado, o la nube, la nieve, o lo que corresponda.

Previamente ya he dibujado esos iconos en la biblioteca, sólo necesito que me los coloque en el mapa que he dibujado como fondo.

Resumiendo: necesito que me "dibuje" un icono u otro, dependiendo del valor de esa variable; y necesito que ese icono aparezca en su sitio correcto, justo en su provincia (de la que conozco los valores x e y).

Esto es todo. ¿Es demasiado? A lo mejor a vosotros os parece muy facil lo que a mí me parece una tarea titánica, por eso os pregunto. Pero es que justo estoy comenzando a aprender ActionScript, pues llevo años usando Flash, y lo poco que hacía era porque siempre me ayudaban con algún código.

Se admite cualquier tipo de sugerencia o mejora, por supuesto.

Muchas gracias y un saludo.

Moleman.