Mapa de España en Flash, XML y Nombres de Instancia
A ver si consigo explicarme bien.
Tengo un mapa de provinci as en flash con 1 boton por cada provincia y 1 movieclip sobre cada boton.
Cada movieclip tiene un nombre de instancia: _p4_mc ("4" - por el 'id' de una tabla en Mysql que contiene las provincias españolas)
Llamo a un xml donde me devuelve una consulta que muestra los asociados agrupados por provincias, con el objeto de ver "como se expande la Asociacion", cambiando la propiedad del _'alpha' sobre cada provincia.
¿Como recorro los nombres de instancia de cado uno de los movieclips sobre cada provincia, para cambiarles las propiedad del alpha en funcion a los datos devueltos por el XML, para no tener que hacerlo por cada una de las 50 provincias de un modo manual?
Pongo parte del codigo de como lo tengo resuelto:
<code>
var datos:Array = ssx.firstChild.childNodes[0].childNodes;
var listprov:Array = ssx.firstChild.childNodes[1].childNodes;
var cobertura:Array = ssx.firstChild.childNodes[2].childNodes;
var empleo:Array = ssx.firstChild.childNodes[3].childNodes;
_empleados.text = empleo[0].attributes.totales;
_cobertura.text = cobertura.length;
// Muestra el conteo total de Empresas
_total.text = datos.length;
for (ii=0; ii<listprov.length; ii++) {
provincias[listprov[ii].attributes.id] = listprov[ii].attributes.nombre;
}
// Recorre el array de las provincias que tienen asociados
// y desactiva o no el _alpha del moviecliep que sobre cada provincia
for (aa=0; aa<cobertura.length; aa++) {
//trace(provincias[cobertura[aa].attributes.id]);
// AQUI ES DONDE ACTIVO Y DESACTIVO EL
// CANAL ALPHA DEL MOVIECLIP SOBRE LA PROV.
}
</code>
Insisto nuevamente en que no se si me habre explicado lo suficientemente bien...
Muchas gracias de antemano.
Isma
Tienes que asignarles la acción del evento dentro del for, podría ser así:
<code>var boton:MovieClip = this["nombre_del_movieclip"+variable_for];
boton.num = variable_for;
boton.onRelease = function(){
btn_ant._alpha = 100;
this._alpha = 50;
btn_ant = this;
trace("Este es el botón número: "+this.num);
}
</code>
Espero haber resuelto la duda, creo haberte entendido...
Date cuenta que asigno a una variable el boton 'anterior' para volverlo a 100 su alpha.
>>>Esto va fuera del for>>> var btn_anterior:MovieClip = new MovieClip();
nikei
Muchas gracias! Habia pasado por alto un asunto relacionado con algo que me habias puesto en tu respuesta:
<code>
this["nombre_del_movieclip"+variable_for];
</code>
Mil gracias nuevamente.
nikei
Aqui esta el resultado definitivo - a falta de la precarga de la seccion en cuestion y el xml.
3w.aneb.es
Insisto, gracias nuevamente por tu comentario!