Comunidad de diseño web y desarrollo en internet online

removeChild no funciona en botones

Citar            
MensajeEscrito el 18 Jun 2014 04:00 pm
Buenas tardes,

Llevo días con este pequeño problema que seguro que alguien de vosotros podrá ayudarme.

La cuestión es que tengo un unos botones que añado al stage con addChild en una función pero luego no me los elimina con un removeChild. En teoría cuando cliqueo uno de esos botones ya debería eliminar del stage los dos botones. Concretamente cuando pulso el "btnNormal".

Código :

 package clases {
   
   import flash.display.MovieClip;
   import flash.events.*;
   
   
   public class mundialon extends MovieClip {
      
      //declaramos las variables a usar
      var btnNormal: botonNormalMode = new botonNormalMode;
      var btnExpert: botonExpertMode = new botonExpertMode;
   
      
      
      public function mundialon() {
         // constructor code
         init();
      }
      
      public function init() : void {
         
         cargaAnimada_mc.addEventListener(Event.ENTER_FRAME, toOptions);
      }
      
      public function toOptions (e: Event): void {
         if (e.target.currentFrame==100) {
            //var btnNormal: botonNormalMode = new botonNormalMode;
            btnNormal.x= 300;
            btnNormal.y= 500;
            //var btnExpert: botonExpertMode = new botonExpertMode;
            btnExpert.x= 866;
            btnExpert.y= 500;
            addChild (btnNormal);
            addChild (btnExpert);
            btnNormal.addEventListener(MouseEvent.CLICK, clicNormal);
            //btnExpert.addEventListener(MouseEvent.CLICK, clicExpert);
         }
      }
      
      private function clicNormal (e:MouseEvent) :void {
         trace ("clicado");
         //btnExpert.removeEventListener(MouseEvent.CLICK, clicExpert);
         removeChild (btnExpert);
         trace (btnExpert);
         btnNormal.removeEventListener(MouseEvent.CLICK, clicNormal);
         removeChild (btnNormal);
         
      }
      
   }
   
}


Como podréis ver también elimino los listeners. En teoría, porque no funciona tampoco. Sin embargo el trace funciona.
Puesto que lo que me interesa es limpiar la pantalla he probado en la misma función "clicNormal" llamar a otra scene pero aunque me carga la nueva escena me siguen apareciendo los dichosos botones (pesaditos que son ellos).
¿A alguien se le ocurre el porque no remueve esos objetos del stage?

Por JoPA

13 de clabLevel



 

chrome
Citar            
MensajeEscrito el 18 Jun 2014 09:58 pm
Me olvidaba indicar antes que no me da ningún tipo de error, simplemente los botones permanecen constantes. Incluso he intentado creando un segundo frame en la línea de tiempo principal y saltando a ella con un gotoAndStop y nada. Pone todo lo que quiera de ese frame pero los botones siguen.

Por JoPA

13 de clabLevel



 

chrome
Citar            
MensajeEscrito el 19 Jun 2014 10:26 pm
Después de agregar los botones en la función toOptions agrega esta ultima linea


cargaAnimada_mc.removeEventListener(Event.ENTER_FRAME, toOptions);

Eso evitará que se ejecute mas de una vez. Además estás mezclando programación de clase con línea de tiempo, lo cual es garantía de muuuchos problemas

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Jun 2014 06:54 am
¡Genial! Muchas gracias Jorge.

Probado y funciona a la perfección. Intuía que algo me estaba pasando con la línea de tiempo pero no acertaba con la solución.

Gracias, muchas gracias.

Por JoPA

13 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.