Foros del Web » Creando para Internet » Flash y Actionscript »

Eliminar MovieClip

Estas en el tema de Eliminar MovieClip en el foro de Flash y Actionscript en Foros del Web. Hola a todos. Antetodo gracias por vuestro tiempo. Tengo un problema con AS2, y seguramente es un tontería pero estoy empezando en esto del AS2 ...
  #1 (permalink)  
Antiguo 01/02/2008, 06:50
 
Fecha de Ingreso: diciembre-2007
Mensajes: 4
Antigüedad: 16 años, 4 meses
Puntos: 0
Eliminar MovieClip

Hola a todos. Antetodo gracias por vuestro tiempo. Tengo un problema con AS2, y seguramente es un tontería pero estoy empezando en esto del AS2 y no termino de asimilar algunos conceptos. Bueno mi problema es el siguiente:

Estoy realizando una animación y creo tres objetos que están definidos en la biblioteca mediante el siguiente código:

for(i=0; i<3; i++) {
electron_mc = target.attachMovie("electronSymbol", "electron_mc"+i, target.getNextHighestDepth());

target["electron_mc"+i]._x = xInicio;
target["electron_mc"+i]._y = yInicio + (20*i);
}

Pues bien lo único que quiero es eliminar una instancia de las tres que he creado...
He intentado todo lo relacionado con removeMovieClip pero no consigo nada...

Según tengo entendido para hacer referencia a una de las instancias creadas lo hago mediante

target["electron_mc0"]

pero si intento eliminar con target["electron_mc0"].removeMovieClip(); no consigo nada. Y no veo donde está el fallo, puesto que según AS2, target["electron_mc0"]._visible = false; si es válido.

Por favor alguien que pueda resolverme la duda, estaría realmente agradecido.

PS: target es un MovieClip pasado por referencia a la función que crea los electrones que es el MovieClip de la película principal (this en la linea de tiempo principal). Espero haberme explicado medianamente bien. Gracias de nuevo
  #2 (permalink)  
Antiguo 01/02/2008, 07:44
 
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 50
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Eliminar MovieClip

has probado con _root?



function crear () {

for(i=0; i<3; i++) {
_root.attachMovie("electronSymbol", "electron_mc"+i, _root.getNextHighestDepth(),{_y:Math.random()*Stag e.height, _x:Math.random()*Stage.width});
}
}

function borrar () {

for(i=0; i<3; i++) {
_root["electron_mc0"].removeMovieClip();
}
}

crear_btn.onRelease=crear;
borrar_btn.onRelease=borrar;
  #3 (permalink)  
Antiguo 01/02/2008, 11:53
 
Fecha de Ingreso: diciembre-2007
Mensajes: 4
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Eliminar MovieClip

Hola, gracias por la respuesta. He intentado lo que me has comentado pero no sirve... Realmente no sé que parte del código está mal. Tengo la clase electron que es donde se encuentra la función de crear Electrones pero a la hora de borrar no me acepta ninguna de las opciones. Lo he intentado por todas las referencias que sé con _root, _level0, _parent... y ocurre lo siguiente:

_level0.electron0._visible = false //Lo hace correcto

_level0.electron0.removeMovieClip(); //ERROR. El electron sigue en el escenario
removeMovieClip("_root.electron0"); //ERROR. El electron sigue en el escenario
_level0.electron0.unloadMovie(); //ERROR. El electron sigue en el escenario
unloadMovie("_root.electron0"); //ERROR. El electron sigue en el escenario

¿¿¿A alguien se le ocurre que puedo estar haciendo mal???. Gracias

PS: La función crearElectrones se encuentra en el archivo de clases electron.as, por si este dato cambia algo el concepto de eliminar electrones. A la hora de llamar a la función la llamo con una variable del tipo electron tal que así:

//Creo la instancia electron
var electron1:electron = new electron(this, 50, 500, 150);

//Código AS en archivo fla

//Llamo a la propiedad eliminarElectron
electron1.eliminarElectron(this);

----------------------------------------------------------------------------------------

//código en electron.as

public function eliminarElectron(target:MovieClip) {
_level0.electron0.removeMovieClip(); //ERROR. El electron sigue en el escenario
removeMovieClip("_root.electron0"); //ERROR. El electron sigue en el escenario
this.electron0.unloadMovie(); //ERROR. El electron sigue en el escenario
unloadMovie("_root.electron0"); //ERROR. El electron sigue en el escenario
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:01.