Estoy creando un mapa interactivo con AS3 el cual al hacer click en alguna provincia me carga un xml dentro de un textfield scroleable, eso ya esta.
El problema surge cuando uso la propieda colortransform para cambiar el color de cada mc segun el estado del mouse (over,out,click).Resumo,no se como hacer para cuando hago click en un nuevo mc me despinte el anterior que quedo como activo.Cuando estoy en un mc que esta activo y presiono en otro me quedan los 2 mc activos, sin despintar el anterior.
Les dejo el codigo:
( les dejo la parte de los mc, todas las provincias son mc indepedientes que estan dentro de un mc llamado "grupo").
grupo.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
grupo.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
grupo.addEventListener(MouseEvent.CLICK, onMouseClick);
function onMouseOver(evt:MouseEvent)
{
grupo.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
changeColor(evt,0x09D309);
}
function onMouseOut(evt:MouseEvent)
{
changeColor(evt,0x0066FF);
}
function onMouseClick(evt:MouseEvent):void
{
changeColor(evt,0x5E4762);
// saco de la lista el evento MOUSE_OUT para que el mc quede activo
grupo.removeEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
// carga XML
var info:String;
var proyecto:String;
var nombre:String;
for each (var picture:XML in mainXML.ciudad)
{
if(picture.nombre == evt.target.name)
{
statusField.text = picture.info + " " + picture.proyecto;
ciudad.text = picture.nombre ;
}
}
}
function changeColor(evt:MouseEvent,colores:uint)
{
var colorTransform:ColorTransform = evt.target.transform.colorTransform;
colorTransform.color = colores;
evt.target.transform.colorTransform = colorTransform;
}
