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

Eliminar contenido as3

Estas en el tema de Eliminar contenido as3 en el foro de Flash y Actionscript en Foros del Web. Hola a todos del foro. Estoy intentando hacer una galeria de imagenes con as3 . Tengo un mc que a su vez son botones que ...
  #1 (permalink)  
Antiguo 11/05/2011, 15:19
 
Fecha de Ingreso: mayo-2011
Mensajes: 19
Antigüedad: 12 años, 11 meses
Puntos: 1
Eliminar contenido as3

Hola a todos del foro.

Estoy intentando hacer una galeria de imagenes con as3 . Tengo un mc que a su vez son botones que cargan las imagenes en la escena1

El codigo que tengo para el boton es:

function page1content(event:MouseEvent):void {
MovieClip(this.parent).cargarSWF1();
}
boton1_btn.addEventListener(MouseEvent.CLICK, page1content);

Luego en la escena principal tengo el código de "carga " y un cargador es:


function cargarSWF1():void{

var contenedor:Loader = new Loader();
contenedor.x=20;
contenedor.y=0;
contenedor.load(new URLRequest("page1.swf"));
addChild(contenedor);


contenedor.contentLoaderInfo.addEventListener(Even t.OPEN, onOpen1);
contenedor.contentLoaderInfo.addEventListener(Prog ressEvent.PROGRESS, onProgress1);
contenedor.contentLoaderInfo.addEventListener(Even t.COMPLETE, onComplete1);

}

function onOpen1(event:Event):void {
txtload.text = "CARGANDO 0%";
}
function onProgress1(event:ProgressEvent):void {
var bLoaded = event.bytesLoaded;
var bTotal = event.bytesTotal;
txtload.text = "CARGANDO "+Math.round(100*bLoaded/bTotal)+"%";
}
function onComplete1(event:Event):void {
txtload.text = "";

}

Por supuesto que he llegado a este paso gracias a la ayuda de este foro.

Mi pregunta es como elimino el contenido que he cargado?
  #2 (permalink)  
Antiguo 11/05/2011, 15:25
 
Fecha de Ingreso: mayo-2011
Mensajes: 19
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Eliminar contenido as3

Perdon , como elimino el contenido que he cargado con el boton 1 si por ejemplo hago clikc en el boton 2,3 etc ? y por supuesto si hago click en el boton 3 también me cargue un nuevo contenido.

Muchas gracias por vuestra respuesta.
  #3 (permalink)  
Antiguo 11/05/2011, 15:29
Avatar de jatg  
Fecha de Ingreso: abril-2011
Ubicación: caracas
Mensajes: 152
Antigüedad: 13 años
Puntos: 15
Respuesta: Eliminar contenido as3

hola, trata de probar colocando las acciones dentro de cada boton osea selecionas el boton luego f9 y hay colocas las acciones a ejecutar al presionar cada boton.
__________________
www.josealexis.net
  #4 (permalink)  
Antiguo 11/05/2011, 15:30
Avatar de esdebon  
Fecha de Ingreso: agosto-2008
Ubicación: México
Mensajes: 167
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: Eliminar contenido as3

Código actionscript:
Ver original
  1. removeChild(contenedor);
  2. contenedor=null; /// no se si esto muestra error, pero seria para vaciar el loader y que no ocupe  memoria
__________________
Mi sitio: http://www.fluocode.com
  #5 (permalink)  
Antiguo 11/05/2011, 15:32
Avatar de esdebon  
Fecha de Ingreso: agosto-2008
Ubicación: México
Mensajes: 167
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: Eliminar contenido as3

Cita:
Iniciado por jatg Ver Mensaje
hola, trata de probar colocando las acciones dentro de cada boton osea selecionas el boton luego f9 y hay colocas las acciones a ejecutar al presionar cada boton.
Eso sólo funciona en AS2
__________________
Mi sitio: http://www.fluocode.com
  #6 (permalink)  
Antiguo 11/05/2011, 15:37
Avatar de esdebon  
Fecha de Ingreso: agosto-2008
Ubicación: México
Mensajes: 167
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: Eliminar contenido as3

Cita:
Iniciado por Josefv Ver Mensaje
Perdon , como elimino el contenido que he cargado con el boton 1 si por ejemplo hago clikc en el boton 2,3 etc ? y por supuesto si hago click en el boton 3 también me cargue un nuevo contenido.

Muchas gracias por vuestra respuesta.

Puedes crear un movie clip para el contenido de cada boton i.e.

Código asctionscript:
Ver original
  1. var contenidoBoton1:MovieClip=new MovieClip();
  2. var contenidoBoton2:MovieClip=new MovieClip();
  3. var contenidoBoton3:MovieClip=new MovieClip();



y cuando cargues el contenido debes indicar en donde se carga, entonces el contenido del boton 1 se cargara en contenidoBoton1, lo del botón en contenidoBoton2...


Código asctionscript:
Ver original
  1. contenidoBoton1.addChild(contenedor);

para quitar el contenido



Código asctionscript:
Ver original
  1. contenidoBoton1.removeChild(contenedor);
__________________
Mi sitio: http://www.fluocode.com
  #7 (permalink)  
Antiguo 11/05/2011, 15:40
 
Fecha de Ingreso: mayo-2011
Mensajes: 19
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Eliminar contenido as3

Hola Jagb y esdebon, Muchas gracias pero creo que en as3 no puedes poner códigos en los botones directamente.
  #8 (permalink)  
Antiguo 11/05/2011, 15:47
Avatar de esdebon  
Fecha de Ingreso: agosto-2008
Ubicación: México
Mensajes: 167
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: Eliminar contenido as3

No, en AS2 no se puede... y por eso lo digo arriba

Lo tuyo se arregla así:

Crea un movieclip vacio fuera de las funciones

Código asctionscript:
Ver original
  1. var contenidoBotones:MovieClip=new MovieClip();

y cuando cargues el contenido vacias el movieclip

Código asctionscript:
Ver original
  1. function vaciarContenidoBotones(){
  2.   for(var i=0;i<contenidoBotones.numChildren;i++){
  3.      contenidoBotones.removeChildAt(i)
  4.    }
  5. }



Al principio de tu funcion cargarSWF1, mandas a llamar a vaciarContenidoBotones();
Código asctionscript:
Ver original
  1. vaciarContenidoBotones();
__________________
Mi sitio: http://www.fluocode.com
  #9 (permalink)  
Antiguo 11/05/2011, 16:37
 
Fecha de Ingreso: mayo-2011
Mensajes: 19
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Eliminar contenido as3

gracias Esdebon, lo estoy probando pero no logro dar con la solución.
Tengo que eliminar mi "conetenedor"? y reemplazarlo por contenidoboton?
  #10 (permalink)  
Antiguo 11/05/2011, 17:03
Avatar de esdebon  
Fecha de Ingreso: agosto-2008
Ubicación: México
Mensajes: 167
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: Eliminar contenido as3

NO, tu"conetenedor" va dentro de contenidoboton


Tome tu código le agregue lo que le hace falta y le puse comentarios


Código actionscript:
Ver original
  1. var contenidoBotones:MovieClip=new MovieClip(); // creas el movieclip aqui vas a cargar todo
  2. addChild(contenidoBotones);
  3.  
  4. /////////nueva función que vacia el movieclip
  5. function vaciarContenidoBotones(){
  6.   for(var i=0;i<contenidoBotones.numChildren;i++){
  7.      contenidoBotones.removeChildAt(i)
  8.    }
  9. }
  10.  
  11. function page1content(event:MouseEvent):void {
  12. MovieClip(this.parent).cargarSWF1();
  13. }
  14. boton1_btn.addEventListener(MouseEvent.CLICK, page1content);
  15.  
  16.  
  17. function cargarSWF1():void{
  18.    
  19. vaciarContenidoBotones(); /////////////NUEVA LINEA, con esto vacias el contenido producto de presionar otros botones   
  20.  
  21. var contenedor:Loader = new Loader();
  22. contenedor.x=20;
  23. contenedor.y=0;
  24. contenedor.load(new URLRequest("page1.swf"));
  25. contenidoBotones.addChild(contenedor); //////////////////Todo lo cargas en el nuevo MovieClip (lo de tosos los botones en contenidoBotones)
  26.  
  27.  
  28. contenedor.contentLoaderInfo.addEventListener(Even t.OPEN, onOpen1);
  29. contenedor.contentLoaderInfo.addEventListener(Prog ressEvent.PROGRESS, onProgress1);
  30. contenedor.contentLoaderInfo.addEventListener(Even t.COMPLETE, onComplete1);
  31.  
  32. }
  33.  
  34. function onOpen1(event:Event):void {
  35. txtload.text = "CARGANDO 0%";
  36. }
  37. function onProgress1(event:ProgressEvent):void {
  38. var bLoaded = event.bytesLoaded;
  39. var bTotal = event.bytesTotal;
  40. txtload.text = "CARGANDO "+Math.round(100*bLoaded/bTotal)+"%";
  41. }
  42. function onComplete1(event:Event):void {
  43. txtload.text = "";
  44.  
  45. }
__________________
Mi sitio: http://www.fluocode.com
  #11 (permalink)  
Antiguo 11/05/2011, 17:48
 
Fecha de Ingreso: mayo-2011
Mensajes: 19
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Eliminar contenido as3

hola esdebon , no sé porque no me funciona. Seguiré probando por si hay algun error
  #12 (permalink)  
Antiguo 11/05/2011, 17:53
 
Fecha de Ingreso: mayo-2011
Mensajes: 19
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Eliminar contenido as3

Cita:
Iniciado por esdebon Ver Mensaje
NO, tu"conetenedor" va dentro de contenidoboton


Tome tu código le agregue lo que le hace falta y le puse comentarios


Código actionscript:
Ver original
  1. var contenidoBotones:MovieClip=new MovieClip(); // creas el movieclip aqui vas a cargar todo
  2. addChild(contenidoBotones);
  3.  
  4. /////////nueva función que vacia el movieclip
  5. function vaciarContenidoBotones(){
  6.   for(var i=0;i<contenidoBotones.numChildren;i++){
  7.      contenidoBotones.removeChildAt(i)
  8.    }
  9. }
  10.  
  11. function page1content(event:MouseEvent):void {
  12. MovieClip(this.parent).cargarSWF1();
  13. }
  14. boton1_btn.addEventListener(MouseEvent.CLICK, page1content);
  15.  
  16.  
  17. function cargarSWF1():void{
  18.    
  19. vaciarContenidoBotones(); /////////////NUEVA LINEA, con esto vacias el contenido producto de presionar otros botones   
  20.  
  21. var contenedor:Loader = new Loader();
  22. contenedor.x=20;
  23. contenedor.y=0;
  24. contenedor.load(new URLRequest("page1.swf"));
  25. contenidoBotones.addChild(contenedor); //////////////////Todo lo cargas en el nuevo MovieClip (lo de tosos los botones en contenidoBotones)
  26.  
  27.  
  28. contenedor.contentLoaderInfo.addEventListener(Even t.OPEN, onOpen1);
  29. contenedor.contentLoaderInfo.addEventListener(Prog ressEvent.PROGRESS, onProgress1);
  30. contenedor.contentLoaderInfo.addEventListener(Even t.COMPLETE, onComplete1);
  31.  
  32. }
  33.  
  34. function onOpen1(event:Event):void {
  35. txtload.text = "CARGANDO 0%";
  36. }
  37. function onProgress1(event:ProgressEvent):void {
  38. var bLoaded = event.bytesLoaded;
  39. var bTotal = event.bytesTotal;
  40. txtload.text = "CARGANDO "+Math.round(100*bLoaded/bTotal)+"%";
  41. }
  42. function onComplete1(event:Event):void {
  43. txtload.text = "";
  44.  
  45. }
El contenido carga pero no elimina el anterior
  #13 (permalink)  
Antiguo 12/05/2011, 10:39
Avatar de esdebon  
Fecha de Ingreso: agosto-2008
Ubicación: México
Mensajes: 167
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: Eliminar contenido as3

A mi me funciona perfectamente, el problema es que tienes un caos con los movieclips anidados.

Deduzco que tu menu con los botones es un movie clip, en mi versión en ese movieclip va este codigo (sólo puse dos botones):

Código actionscript:
Ver original
  1. function page1content(event:MouseEvent):void {
  2. MovieClip(this.parent).cargarSWF1();
  3. }
  4. boton1_btn.addEventListener(MouseEvent.CLICK, page1content);
  5.  
  6.  
  7. function page2content(event:MouseEvent):void {
  8. MovieClip(this.parent).cargarSWF2();
  9. }
  10. boton2_btn.addEventListener(MouseEvent.CLICK, page2content);

Esto sin problemas podria ir en el timeline principal...

Y en el timeline principal este código;

Código actionscript:
Ver original
  1. function cargarSWF1():void{
  2.    
  3. vaciarContenidoBotones(); /////////////NUEVA LINEA, con esto vacias el contenido producto de presionar otros botones    
  4.  
  5. var contenedor:Loader = new Loader();
  6. contenedor.x=20;
  7. contenedor.y=0;
  8. contenedor.load(new URLRequest("page1.swf"));
  9. contenidoBotones.addChild(contenedor); //////////////////Todo lo cargas en el nuevo MovieClip (lo de tosos los botones en contenidoBotones)
  10.  
  11.  
  12. contenedor.contentLoaderInfo.addEventListener(Event.OPEN, onOpen1);
  13. contenedor.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress1);
  14. contenedor.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete1);
  15.  
  16. }
  17.  
  18. function cargarSWF2():void{
  19.    
  20. vaciarContenidoBotones(); /////////////NUEVA LINEA, con esto vacias el contenido producto de presionar otros botones    
  21.  
  22. var contenedor:Loader = new Loader();
  23. contenedor.x=20;
  24. contenedor.y=0;
  25. contenedor.load(new URLRequest("page2.swf"));
  26. contenidoBotones.addChild(contenedor); //////////////////Todo lo cargas en el nuevo MovieClip (lo de tosos los botones en contenidoBotones)
  27.  
  28.  
  29. contenedor.contentLoaderInfo.addEventListener(Event.OPEN, onOpen1);
  30. contenedor.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress1);
  31. contenedor.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete1);
  32.  
  33. }
  34.  
  35.  
  36. function onOpen1(event:Event):void {
  37. txtload.text = "CARGANDO 0%";
  38. }
  39. function onProgress1(event:ProgressEvent):void {
  40. var bLoaded = event.bytesLoaded;
  41. var bTotal = event.bytesTotal;
  42. txtload.text = "CARGANDO "+Math.round(100*bLoaded/bTotal)+"%";
  43. }
  44. function onComplete1(event:Event):void {
  45. txtload.text = "";
  46. }
  47.  
  48.  
  49.  
  50. var contenidoBotones:MovieClip=new MovieClip(); // creas el movieclip aqui vas a cargar todo
  51. addChild(contenidoBotones);
  52.  
  53. /////////nueva función que vacia el movieclip
  54. function vaciarContenidoBotones(){
  55.   for(var i=0;i<contenidoBotones.numChildren;i++){
  56.      contenidoBotones.removeChildAt(i)
  57.    }
  58. }


__________________
Mi sitio: http://www.fluocode.com
  #14 (permalink)  
Antiguo 13/05/2011, 11:05
 
Fecha de Ingreso: mayo-2011
Mensajes: 19
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: Eliminar contenido as3

Muchas gracias Esdebon!!!
Funciona perfectamente gracias por compartir tus conocimientos
  #15 (permalink)  
Antiguo 22/08/2011, 08:08
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Respuesta: Eliminar contenido as3

Hola esdebon
Te dese hacer una pregunta respecto a tu sitio Web:

En tu sitio Web cuando uno entra a "Web" la descripción tiene un efecto, puedes decirme de donde descago un .fla en AS3 con este efecto.

Gracias por tu ayuda
__________________
Diseñador Gráfico publicitario

Etiquetas: as3, contenido
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 07:15.