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

removeChild de los objetos cargados

Estas en el tema de removeChild de los objetos cargados en el foro de Flash y Actionscript en Foros del Web. Hola, mi problema es que tengo una película, en la cual hay, por ejemplo 10 fotogramas, y cada uno tiene un loader que carga un ...
  #1 (permalink)  
Antiguo 13/12/2009, 09:43
 
Fecha de Ingreso: septiembre-2009
Mensajes: 14
Antigüedad: 15 años, 2 meses
Puntos: 0
removeChild de los objetos cargados

Hola, mi problema es que tengo una película, en la cual hay, por ejemplo 10 fotogramas, y cada uno tiene un loader que carga un wallpaper, pero en el fotograma 10, no hay loader por que se supone que es la opción de no tener wallpaper, lo que podria hacer seria poner 9 lineas de codigo con el correspondiente removeChild pero seria solo si el usuario ya uso todos los otros 9 fotogramas.

¿Hay algún código que me quite los loaders que ya cargaron?

¿Hay algún código para que al cargar uno, quite los otros?

Gracias.
  #2 (permalink)  
Antiguo 13/12/2009, 10:10
 
Fecha de Ingreso: marzo-2009
Mensajes: 47
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: removeChild de los objetos cargados

una forma seria saber si los loaders han sido cargados, comprobar si estan null o no null, con un if, es decir
if (loader=!null){
loader.unload();
}
pero explicame mejor tu proyecto para ver si se podria mediante algun evento, detectar si con enterframe ir borrando esos loader.
  #3 (permalink)  
Antiguo 13/12/2009, 11:13
 
Fecha de Ingreso: septiembre-2009
Mensajes: 14
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: removeChild de los objetos cargados

Hola mira, es lo siguiente, yo tengo un movieclip con botones que navegan entre los fotogramas del movieclip "wallpaper".
"wallpaper" tiene 10 fotogramas, 9 con el siguiente codigo:

var img1Req5:URLRequest = new URLRequest("/Wallpaper5.jpg");
var big_pic5:Loader = new Loader();
big_pic5.load(img1Req5);
addChild(big_pic5);

(el cual cambia en cada fotograma)

El decimo fotograma de wallpaper se supone que no debe de tener wallpaper, entonces lo que necesito es un codigo que "unload" todos los child que he llamado al escenario.

Lo otro que te pregunto es que si hay forma de agregarle al código de cada fotograma, una función para que elimine los child anteriores.

gracias.
  #4 (permalink)  
Antiguo 13/12/2009, 19:02
Avatar de Eskombro  
Fecha de Ingreso: septiembre-2009
Ubicación: Colombia
Mensajes: 437
Antigüedad: 15 años, 2 meses
Puntos: 22
Respuesta: removeChild de los objetos cargados

Yo creo que lo más fácil es que le des al botón que hace que salga de cada frame el removechild... Así estás seguro que al salir de un frame desaparece el objeto del escenario... Puedes usar el método currentFrame para añadir cada child... Incluso podrías tener solo un fotograma, y que la navegación vaya añadiendo o eliminando objetos del escenario en el mismo frame...

Lo que si es seguro es que debes comprobar que el objeto exista para darle el removeChild, sino te da un error. A pesar de todo, ese error muchas veces no impide que la película se siga reproduciendo correctamente, así que no es tan problemático.
Un saludo.
Eskombro
__________________
Blog AS3 Ideas -> Programación en ActionScript 3
________
Esk Games | Free online flash games
  #5 (permalink)  
Antiguo 14/12/2009, 07:58
 
Fecha de Ingreso: septiembre-2009
Mensajes: 14
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: removeChild de los objetos cargados

Hola, ya te voy entendiendo un poco, me podias ayudar con algo de codigo base?

gracias.
  #6 (permalink)  
Antiguo 14/12/2009, 08:46
Avatar de Eskombro  
Fecha de Ingreso: septiembre-2009
Ubicación: Colombia
Mensajes: 437
Antigüedad: 15 años, 2 meses
Puntos: 22
Respuesta: removeChild de los objetos cargados

Por ejemplo, tienes un botón llamado'siguiente' al cual le dices que te lleve al siguiente frame. Entonces puedes hacer que lea el fotograma actual y dependiendo de cuál sea, agregue un objeto y elimine el anterior.

mira un ejemplo que hice a ver si te sirve.

.swf:http://as3ideas.com/ejemplo.swf

.fla:http://as3ideas.com/ejemplo.fla

En el .fla está, claro, el código...

Un saludo
Eskombro
__________________
Blog AS3 Ideas -> Programación en ActionScript 3
________
Esk Games | Free online flash games

Última edición por Eskombro; 16/01/2010 a las 16:19
  #7 (permalink)  
Antiguo 14/12/2009, 17:30
 
Fecha de Ingreso: septiembre-2009
Mensajes: 14
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: removeChild de los objetos cargados

Hola muchas gracias, el problema que tengo es que como el usuario puede dar clic en cualquier boton, no seria tan facil, pero con un poco de ayuda y tiempo voy a aplicar tu codigo a lo que necesito (aunque debo de reconocer que la parte del "case" & "break" no los conosco pero seria interesante investigar).

de nuevo muchas gracias y si me puedes ayudar tambien en este tema te lo agradeceria aun mas.

http://www.forosdelweb.com/f16/variable-clase-con-datos-que-puedan-llamar-varias-veces-761444/
  #8 (permalink)  
Antiguo 14/12/2009, 23:31
Avatar de Eskombro  
Fecha de Ingreso: septiembre-2009
Ubicación: Colombia
Mensajes: 437
Antigüedad: 15 años, 2 meses
Puntos: 22
Respuesta: removeChild de los objetos cargados

Lo de case y break es sencillo. Imaginate que es un if. Cadacase es un if. Por ejemplo, si tienes

if(a==0){
//hacer 1
}
if(a==1){
//hacer 2
}
...
if(a==10){
//hacer 11
}

Entonces es muy largo. Para es existe el switch así:

switch(a){
case 0: //hacer 1; break;
case1: //hacer 2; break;
...
case 10: //hacer 11; break;
}

Es decir, un condicional con muchas opciones.

Claro puedes adaptar ese código a las necesidades.

Un saludo
Eskombro
__________________
Blog AS3 Ideas -> Programación en ActionScript 3
________
Esk Games | Free online flash games
  #9 (permalink)  
Antiguo 15/12/2009, 09:30
 
Fecha de Ingreso: septiembre-2009
Mensajes: 14
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: removeChild de los objetos cargados

Muchas gracias, veo muy util esto aparte de que hace el codigo mas limpio y rapido, pero tengo una pregunta, puedo tener varios casos juntos? osea,

switch(a){
case 0, 1, 2: //hacer 1; break;
case3: //hacer 2; break;
...
case 10: //hacer 11; break;
}

esto es posible?
muchas gracias y te pido por favor que me ayudes tambien con el otro tema, es algo simple (creo jeje).

gracias!
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 22:26.