Comunidad de diseño web y desarrollo en internet online

borrar e.target

Citar            
MensajeEscrito el 14 Oct 2010 09:03 am
Muy buenas gente!!
Vengo para preguntaros una curiosidad:
Resulta que tengo un Flash en el que voy haciendo que cada 3.5 segundos añade al stage un nuevo objeto que tengo en la librería, haciendo que éste se mueva.
Al darle click a uno de ellos hago que se haga invisible. Pero se me ha ocurrido en que en lugar de eso, estaría mejor borrarlo.
Lo he intentado de diferentes maneras, pero con todas me da fallo o no me hace ni caso (la primera opción la que mas :S).
No me funciona de ninguna manera.
Este es el código que tengo:

Código ActionScript :

//importamos las librerias
import fl.transitions.*;
import fl.transitions.easing.*;
import flash.display.Loader;
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.events.*;
import flash.events.Event;
import flash.utils.Timer;

// Creamos cargadores y cargamos en ellos las imagenes
var tiempo:Timer = new Timer(3500);
tiempo.addEventListener(TimerEvent.TIMER, crear_barco);
tiempo.start();

function desaparecer(e:MouseEvent):void
{
   e.target.visible = false; // Esto es lo que tengo puesto

   //Esto es lo que he ido probando y no funciona
   // 1
   removeChild(e.target.content); 
   // 2
   removeChild(e.target);
   // 3
   var aux:Loader = new Loader();
   aux = e.target;
   removeChild(aux);
   // He puesto mas cosas, pero ya ni las recuerdo.
}

function crear_barco(e:Event):void
{
   var barco:Barco = new Barco();
   barco.name = "barco";
   barco.addEventListener(MouseEvent.CLICK, desaparecer);
   new Tween(barco, "x", None.easeNone, barco.x, 750, 15, true);

   // Colocamos el barco
   barco.x = 0;
   barco.y = 100;
   addChild(barco);
}


A ver si me podeis echar una mano.
Muchas gracias!
Saludos,


Fran.

Por SeiyaJapon

54 de clabLevel



 

España

firefox
Citar            
MensajeEscrito el 14 Oct 2010 03:41 pm
Y te marca algun error?? Lo mas seguro es que te falte algo de casting, puedes tratar con removeChild(Barco(e.currentTarget)); o removChild(MovieClip(e.currentTarget)); (si el barco no es movieclip no va funcionar darle casting a movieclip).

Saludos!!

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Oct 2010 03:45 pm
Pregunta??

Veo que utilizas e.target.content y en otro intento creas un Loader para remover el e.target, tus barcos son Loaders???

Si es asi removeChild(Loader(e.target)); deberia funcionar.


Nota: Yo acostumbro mas usar e.currentTarget que e.target, lee un poco en la documentacion de sus diferencias a veces el target te puede dar sorpresas XD

Por Angel Roberto

Claber

248 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Oct 2010 04:50 pm

Código ActionScript :

removeChild(DisplayObject(e.currentTarget));


Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 15 Oct 2010 08:43 am
Muchas gracias por las respuestas!
Bueno, Angel Roberto, me has hecho varias preguntas.
Para resumir te diré que el objeto Barco es un MovieClip que contiene una imagen. Pero las opción removeChild(MovieClip(e.currentTarget)); no me había funcionado de antes.
Esta --> removeChild(Barco(e.currentTarget)); no la había probado.
Pero bueno, ya esta solucionado. He probado la solución que ofrece Hernán y me ha ido a la perfección.
Muchas gracias a los dos!!!
Saludos!

Fran.

Por SeiyaJapon

54 de clabLevel



 

España

firefox
Citar            
MensajeEscrito el 16 Oct 2010 04:22 am
Para eso estamos :wink:

Saludos!!

Por Angel Roberto

Claber

248 de clabLevel



 

firefox

 

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