Antes de nada decir q no soy ningún genio en as3, simplemente un diseñador web q acaba de meterse en programación, así q ando algo pez...
Tengo varios btns q cargan las distintas secciones/categorías de la web. Al clicar sobre cualquiera de ellos el código comprueba 3 cosas:
1. Si no hay ninguna categoría abierta:
1.1. Si no hay ninguna abierta, simplemente abre la equivalente al btn presionado mediante un addChild
2. Si hay una categoría abierta, comprueba si coincide con la q pretendemos abrir
2.1. Si la categoría abierta coincide con la q pretendemos abrir, no hace nada
3. Si hay una categoría abierta, comprueba si no coincide con la q pretendemos abrir
3.1. Si la categoría abierta no coincide con la q pretendemos abrir, elimina el mc contenedor de la categoría abierta mediante un removeChild y abre la equivalente al btn presionado mediante un addChild
Código ActionScript :
esSidecar.addEventListener(MouseEvent.CLICK, categoryClick);
esMedia.addEventListener(MouseEvent.CLICK, categoryClick);
function categoryClick(mEv:MouseEvent):void{
var mEvName:String = mEv.target.name;
MovieClip(parent.parent).newCat = mEvName;
var loadCatSwf:URLRequest = new URLRequest(mEvName + ".swf");
var Cat_mc = new Loader();
if(MovieClip(parent.parent).currentCat == "none"){
//open newcat
MovieClip(parent.parent).catAnim_mc.play();
MovieClip(parent.parent).currentCat = MovieClip(parent.parent).newCat;
Cat_mc.load(loadCatSwf);
MovieClip(parent.parent).catAnim_mc.catCont_mc.catContent_mc.addChild(Cat_mc);
}else if(MovieClip(parent.parent).currentCat == MovieClip(parent.parent).newCat){
//do nothing
}else{
//Close currentcat and then open newcat
MovieClip(parent.parent).catAnim_mc.catCont_mc.catContent_mc.currentCat_mc.removeChild(this);
MovieClip(parent.parent).currentCat = MovieClip(parent.parent).newCat;
Cat_mc.load(loadCatSwf);
MovieClip(parent.parent).catAnim_mc.catCont_mc.catContent_mc.addChild(Cat_mc);
}
}Cuando publico, me da el siguiente error y no deja q el código siga ejecutándose:
TypeError: Error #1010: Un término no está definido y no tiene propiedades.
at final_fla::mcEsMenu_11/categoryClick()
Si elimino el código del removeChildm para comprobar si el resto de código se ejecuta, las categorías cargadas mediante los addChild se solapan las unas a las otras sin desaparecer ninguna de ellas, osea, si clico en el btn esSidecar, su categoría se carga y si luego clico en el btn esMedia, su categoría se carga sobre la anterior, si vuelvo a clicar sobre esSidecar, su categoría se vuelve a cargar sobre la anterior y así sucesivamente.
El mc añadido mediante el addChild del punto 1.1 y el mc añadido mediante el addChild del punto 3.1 coinciden en nombre, lo digo porq no se si es esto lo q crea conflicto al intentar eliminar mediante removeChild.
Total, q no se porq el removeChild no me funciona. Si se os ocurre algo, bienvenido sea.
Un saludo y gracias de antemano.
