Voy al problema en concreto, para no hacer largo el post.
Duplico varios clips, la cantidad de ellos es leida de un xml. Hasta esta todo bien, pero el problema es que quiero hacer click en alguno de ellos y mostrar en otro frame el contenido correspondiente. El problema, es que estos clips no se van del escenario, quedan superpuestos en el segundo frame y no los puedo quitar.
Todos los clips estan almacenados en una variable (llamada "notas") de tipo MovieClip. Por mas que he intentado con removeMovieClip, he tenido resultados parciales, es decir, solo el ultimo clip es que se elimina, el resto sigue estando.
Pego el codigo para ver si se puede aclarar mi problema (perdon por lo desprolijo):
Código ActionScript :
stop(); import mx.transitions.Tween; //import mx.transitions.TransitionManager; import mx.transitions.easing.*; titulo_mc._visible = false; var xml:XML = new XML(); xml.ignoreWhite = true; xml.onLoad = alCargar; xml.load("notas.xml"); var col:Number = 2; var fila:Number = 5; var numNotas:Number; var i:Number; var dirY:Number = 0; var dirX:Number = 0; var cadaRubro:Array; var cadaDia:Array; var cadaMes:Array; var cadaTitulo:Array; var notas:MovieClip; function alCargar() { numNotas = xml.firstChild.childNodes.length; cadaRubro = new Array(numNotas); cadaDia = new Array(numNotas); cadaMes = new Array(numNotas); cadaTitulo = new Array(numNotas); cargaNotas(); } function cargaNotas() { for (i=0; i<numNotas; i++) { cadaRubro[i] = xml.firstChild.childNodes[i].childNodes[0].attributes.rubro_xml; cadaDia[i] = xml.firstChild.childNodes[i].childNodes[1].attributes.dia_xml; cadaMes[i] = xml.firstChild.childNodes[i].childNodes[2].attributes.mes_xml; cadaTitulo[i] = xml.firstChild.childNodes[i].childNodes[3].attributes.titulo_xml; Duplicar(); } } function Duplicar() { notas = titulo_mc.duplicateMovieClip("mc"+i, this.getNextHighestDepth()+i); notas.createTextField("titulo_txt",notas.getNextHighestDepth(),10,23,665,35); notas.titulo_txt.htmlText = true; notas.titulo_txt.wordWrap = true; notas.titulo_txt.autoSize = "left"; notas.titulo_txt.multiline = true; notas.titulo_txt.textColor = "0x000000"; notas.titulo_txt.embedFonts = true; var formato:TextFormat = new TextFormat(); formato.font = "miFuente"; formato.italic = true; formato.bold = true; formato.size = 14; notas._y = 30*dirY+80; notas._x = 370*dirX+20; //notas.seccion_txt.text = cadaRubro[i]; //notas.dia_txt.text = cadaDia[i]; //notas.mes_txt.text = cadaMes[i]; notas.titulo_txt.text = cadaTitulo[i]; notas.titulo_txt.setTextFormat(formato); notas.onRollOver = RollOver; notas.onRollOut = RollOut; dirY++; new Tween(notas, "_alpha", Regular.easeOut, 0, 100, .7, true); notas.onRelease = sale; } function RollOver(event):Void { new Tween(this.selec_mc, "_alpha", Regular.easeOut, this.selec_mc._alpha, 100, .3, true); } function RollOut(event):Void { new Tween(this.selec_mc, "_alpha", Regular.easeOut, this.selec_mc._alpha, 0, .3, true); } function sale() { gotoAndStop(2); }
El codigo esta ubicado en el frame 1 de la linea de tiempo principal.
Espero se haya entendido. Cualquier recomendacion sera bienvenida.
Muchas gracias.
STARLANCER
