Hola, al dar click a un menu generado con AS3 y XML hago que aparezca un movie clip con la informacion referente al menu, todo eso sale perfeto, el problema viene cuando quiero darle click al boton que le he puesto para Cerrar, simplemente no cierra.
Les pongo el script que genera los menu y el contenido de cada menu al hacer click, no se que puede estar yendo mal, si alguien detecta el error, por favor me lo hace saber.
Código AS3:
Ver originalimport flash.events.*;
import flash.display.Loader;
import flash.net.URLRequest;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.display.MovieClip;
var url:String = "menuservicios.php";
var urlHijos:String = "hijos.php";
var datos:XML;
var xmlHijos:XML;
var i:uint;
var c:uint;
var miBoton:MovieClip;
var details:MovieClip;
var btn:MovieClip;
var hijo:MovieClip;
var loader:Loader;
var boton:MenuElemento;
var servicio:Servicios;
var cerrar:BotonCerrar;
btnServicios.addEventListener(MouseEvent.MOUSE_OVER, sobre);
btnServicios.addEventListener(MouseEvent.MOUSE_OUT, fuera);
btnServicios.addEventListener(MouseEvent.CLICK, accion);
function sobre(e:MouseEvent):void
{
gotoAndPlay("s1");
}
function fuera(e:MouseEvent):void
{
gotoAndPlay("s2");
}
function accion(e:MouseEvent):void
{
CargarMenu();
}
function CargarMenu()
{
var ldrMenu:URLLoader = new URLLoader();
ldrMenu.addEventListener(Event.COMPLETE, CompleteHandler);
var reqMenu:URLRequest = new URLRequest(url);
ldrMenu.load(reqMenu);
}
function CompleteHandler(e:Event):void
{
datos = new XML(e.target.data);
for (i = 0; i < datos.servicio.length(); i++) {
miBoton = new MovieClip();
miBoton.x = 580;
miBoton.y = 95 + i * 27;
miBoton.buttonMode = true;
miBoton.mouseChildren = false;
stage.addChild(miBoton);
new Tween(miBoton, "alpha", Strong.easeOut, 0, 1, 1, true);
CargarServicios();
}
}
function CargarServicios():void
{
boton = new MenuElemento();
boton.txtMenu.text = datos.servicio.nombre.text()[i];
miBoton.addChild(boton);
Click(i);
}
function Click(num:Number):void
{
miBoton.addEventListener(MouseEvent.CLICK, MostrarServicio);
function MostrarServicio(e:MouseEvent):void
{
details = new MovieClip();
details.x = 30;
details.y = 100;
servicio = new Servicios();
servicio.txtTituloServicio.text = datos.servicio.nombre.text()[num];
servicio.txtCuerpoServicio.text = datos.servicio.descripcion.text()[num];
btn = new MovieClip();
btn.x = 820;
btn.y = 5;
btn.buttonMode = true;
cerrar = new BotonCerrar();
stage.removeChild(miBoton);
stage.addChild(details);
details.addChild(servicio);
details.addChild(btn);
btn.addChild(cerrar);
new Tween(details, "alpha", Strong.easeIn, 0, 1, 1, true);
new Tween(btn, "alpha", Strong.easeIn, 0, 1, 4, true);
new Tween(btn, "y", Elastic.easeIn, 400, 5, 4, true);
btn.addEventListener(MouseEvent.CLICK, CerrarServicio);
CargarHijos();
}
}
function CargarHijos():void
{
var ldrHijos:URLLoader = new URLLoader();
ldrHijos.addEventListener(Event.COMPLETE, CompleteHandlerHijos);
var reqHijos:URLRequest = new URLRequest(urlHijos);
ldrHijos.load(reqHijos);
}
function CompleteHandlerHijos(ev:Event):void
{
xmlHijos = new XML(ev.target.data);
for (c = 0; c < xmlHijos.hijo.length(); c++) {
hijo = new MovieClip();
hijo.x = 650;
hijo.y = 128 + (c * 170);
hijo.buttonMode = true;
details.addChild(hijo);
new Tween(hijo, "alpha", Strong.easeIn, 0, 1, 1, true);
llenarHijos();
}
}
function llenarHijos():void
{
loader = new Loader();
loader.load(new URLRequest(xmlHijos.hijo.imggrande.text()[c]));
hijo.addChild(loader);
}
function CerrarServicio():void
{
stage.removeChild(details);
}
Gracias de antemano.