Comunidad de diseño web y desarrollo en internet online

Quitar XML con un boton

Citar            
MensajeEscrito el 19 Ene 2011 02:40 am
Hola a todos!! Me gustaria saber como se quitar, borra, oculta, elimina...es definitiva q no aparezca un XML ya cargado
Tengo una serie de botones q cargan, a traves de una su funcion respectiva, un XML, os pongo un par de ejemplos:

Código ActionScript :

function XMLrsc() {
   myMenu.load("xml/rsc.xml");
}
function XMLmanagement() {
   myMenu.load("xml/management.xml");
}

estas 2 funciones tienen asignadas una accion q las ejecuta, son estas:

Código ActionScript :

sec1.btn.onRelease = function() {
   XMLrsc();
}

sec2.btn.onRelease = function() {
   XMLmanagement();
}

Mi problema viene xk no se borran los XML cargados segun vas aciendo click en los botones, se cargan uno encima de otro, alguien sabe como se pueden quitar, descargar, ocultar o lo q sea...en definitva q no aparezcan los anteriormente cargados, unicamente el q acabas de cargar x acer click en el boton correspondiente???
Muchas gracias!!

Rocha

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 19 Ene 2011 02:30 pm
El XML es solo un contenedor de información, a partir de la cual supongo se genera un contenido gráfico que es el que debes quitar. Muestranos como generas los botones (o lo que sea que estas generando) para tener una pista de como quitarlo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Ene 2011 04:52 pm
uso este codigo xa cargar todo el contenido:

Código ActionScript :

var myMenu:XML = new XML();
myMenu.ignoreWhite = true;
System.useCodepage = true;
linkBoton = new Array();
textoBoton = new Array();
fechaBoton = new Array();
descripcionBoton = new Array();
fuenteBoton = new Array();
myMenu.onLoad = function() {
   for (var i = 0; i<this.firstChild.childNodes.length; i++) {
      textoBoton[i] = this.firstChild.childNodes[i].attributes.name;
      linkBoton[i] = this.firstChild.childNodes[i].attributes.link;
     fechaBoton[i] = this.firstChild.childNodes[i].attributes.fecha;
     descripcionBoton[i] = this.firstChild.childNodes[i].attributes.descripcion;
     fuenteBoton[i] = this.firstChild.childNodes[i].attributes.fuente;

   }
   creaBtns(this.firstChild.childNodes.length);
};
function creaBtns(cuantosBotones) {
   var separacion = 0;//separacion a cada MC
   alturaY = 0;//posY en stage
   for (var i = 0; i<cuantosBotones; i++) {
      target= this.attachMovie("notisboton", "notisboton"+i, this.getNextHighestDepth());
      target.link = linkBoton[i];
      target.btn.titular_txt.text = textoBoton[i];
     target.fecha_txt.text = fechaBoton[i];
     target.descripcion_txt.text = descripcionBoton[i];
     target.fuente_txt.text = "Fuente: "+ fuenteBoton[i];
      target._x = 0;//posX en stage
      target._y = alturaY+i*separacion+target._height*i;
      target.btn.link = linkBoton[i];
     target.btn.onRelease = function() {
         getURL(this.link, "blank");
      };
     target.btn.onRollOver = function() {
        this._alpha = 50;
     }
     target.btn.onRollOut = function() {
        this._alpha = 100;
     }
   }
}

con las acciones q comentado en el post anterior cargo cada XML

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 19 Ene 2011 04:54 pm
Tienes que crear una función destruyeBotones que:

- repita el mismo loop
- use removeMovieClip("notisboton"+i) para quitar cada uno de los botones

Esa función tiene que ser llamada antes de la nueva carga de datos

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Ene 2011 06:49 pm
he creado una funcion destruyebotones y la e llamado dentro del onload como pasaba con la de creaBtns, mira:

Código ActionScript :

var myMenu:XML = new XML();
myMenu.ignoreWhite = true;
System.useCodepage = true;
linkBoton = new Array();
textoBoton = new Array();
fechaBoton = new Array();
descripcionBoton = new Array();
fuenteBoton = new Array();
myMenu.onLoad = function() {
   for (var i = 0; i<this.firstChild.childNodes.length; i++) {
      textoBoton[i] = this.firstChild.childNodes[i].attributes.name;
      linkBoton[i] = this.firstChild.childNodes[i].attributes.link;
     fechaBoton[i] = this.firstChild.childNodes[i].attributes.fecha;
     descripcionBoton[i] = this.firstChild.childNodes[i].attributes.descripcion;
     fuenteBoton[i] = this.firstChild.childNodes[i].attributes.fuente;

   }
   creaBtns(this.firstChild.childNodes.length);
   destruyeBtns(this.firstChild.childNodes.length);
};
function creaBtns(cuantosBotones) {
   var separacion = 0;//separacion a cada MC
   alturaY = 0;//posY en stage
   for (var i = 0; i<cuantosBotones; i++) {
      target= this.attachMovie("notisboton", "notisboton"+i, this.getNextHighestDepth());
      target.link = linkBoton[i];
      target.btn.titular_txt.text = textoBoton[i];
     target.fecha_txt.text = fechaBoton[i];
     target.descripcion_txt.text = descripcionBoton[i];
     target.fuente_txt.text = "Fuente: "+ fuenteBoton[i];
      target._x = 0;//posX en stage
      target._y = alturaY+i*separacion+target._height*i;
      target.btn.link = linkBoton[i];
     target.btn.onRelease = function() {
         getURL(this.link, "blank");
      };
     target.btn.onRollOver = function() {
        this._alpha = 50;
     }
     target.btn.onRollOut = function() {
        this._alpha = 100;
     }
   }
}


function destruyeBtns(cuantosBotones) {
   var separacion = 0;//separacion a cada MC
   alturaY = 0;//posY en stage
   for (var i = 0; i<cuantosBotones; i++) {
      target= this.removeMovieClip("notisboton", "notisboton"+i, this.getNextHighestDepth());
      target.link = linkBoton[i];
      target.btn.titular_txt.text = textoBoton[i];
     target.fecha_txt.text = fechaBoton[i];
     target.descripcion_txt.text = descripcionBoton[i];
     target.fuente_txt.text = "Fuente: "+ fuenteBoton[i];
      target._x = 0;//posX en stage
      target._y = alturaY+i*separacion+target._height*i;
      target.btn.link = linkBoton[i];
     target.btn.onRelease = function() {
         getURL(this.link, "blank");
      };
     target.btn.onRollOver = function() {
        this._alpha = 50;
     }
     target.btn.onRollOut = function() {
        this._alpha = 100;
     }
   }
}


y luego en cada evento de raton e colocado lo siguiente para llamar a la funcion q los destruye:

Código ActionScript :

sec1.onRelease = function() {
   destruyeBtns();// esta destruye el XML cargado
   XMLrsc();//esta crea el nuevo XML

es obvio q esta mal xk no me funciona, q estoy aciendo mal??

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 19 Ene 2011 07:05 pm
Varias cosas:

- Si los creas y los destruyes al mismo tiempo, no hay nada para mostrar, ¿verdad? Los tienes que destruir fuera del onLoad, es decir cuando haces una llamada a un nuevo XML (desde el botón o lo que uses para volver a cargar)
- Si miras la ayuda para removeMovieClip, verás que tiene un solo argumento, que es el nombre de instancia del clip, el resto no solo sobra, sino que da error de sintaxis
- En el loop solo necesitas el removeMovieClip, todo el resto no es necesario
- cuantosBotones no tiene que ser un argumento, sino una variable al que ambas funciones tengan acceso para poder construir el loop

Necesitas razonarlo un poco, evita el copy/paste si no estas seguro

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Ene 2011 07:29 pm
es verdad, he estao exando un ojo a la clase removieMovieClip. He creado la funcion q destruye los botones, seria esta:
function destruyeBtns() {
removeMovieClip("notisboton"+i);
}

y luego a cada boton le asigno q ejecute esta funcion y la de cargar el nuevo XML:
sec2.onRelease = function() {
destruyeBtns(); //DESTRUYE
XMLmanagement(); //CREA NUEVO XML
}

e colocado un trace en la funcion q destruye para ver si la ejecutaba, y si lo ace...xo no me borra el boton, xk? si la e creado en base a lo q leido de la clase removeMC

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 19 Ene 2011 07:45 pm
Así estás destruyendo un solo botón de nombre "notisbotonundefined"
Relee mis instrucciones y dedícale tiempo, nadie nace sabiendo, pero piensa antes de postear

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Ene 2011 08:47 pm
estoy seguro q no van x aki los tiros...xo esk toy perdidisimo, xk nose como programar todo lo q me as dixo. he creado esta funcion:

function destruyeBtns(cuantosBotones) {
for (var i = 0; i<cuantosBotones; i++) {
this.removeMovieClip("notisboton"+i);
}
}

y este es el cod del boton:

sec2.onRelease = function() {
destruyeBtns(); //DESTRUYE
XMLmanagement(); //CREA NUEVO XML
}

x supuesto la funcion q destruye esta mal, xk no lo ace..xo esk x mas q pruebo y pruebo, como no entiendo apenas de as...me sale todo mal!! llevo aki toda la tarde xo veo q pierdo el tiempo y no avanzo nada, pff

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 23 Ene 2011 09:40 pm
alguien podria exarme una mano?? esk sigo aciendo pruebas xo no lo consigo!!

muxas gracias!!

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 25 Ene 2011 11:21 pm
Mi problema venia xk necesitaba descargar un XML cargado para nuevamente cargar otro distinto. Son varios botones y cada uno carga uno distinto, pongo el ejemplo de 2 funciones de carga:

Código ActionScript :

function XMLrsc() { 
   myMenu.load("xml/rsc.xml"); 
} 
function XMLmanagement() { 
   myMenu.load("xml/management.xml"); 
} 

y estas serian las acciones de los botones q llaman a cada funcion:

Código ActionScript :

sec1.onRelease = function() {
   XMLrsc();
}

sec2.onRelease = function() {
   XMLmanagement();
}


el resto del codigo del XML es este:

Código ActionScript :

var myMenu:XML = new XML();
myMenu.ignoreWhite = true;
System.useCodepage = true;
linkBoton = new Array();
textoBoton = new Array();
fechaBoton = new Array();
descripcionBoton = new Array();
fuenteBoton = new Array();
myMenu.onLoad = function() {
   for (var i = 0; i<this.firstChild.childNodes.length; i++) {
      textoBoton[i] = this.firstChild.childNodes[i].attributes.name;
      linkBoton[i] = this.firstChild.childNodes[i].attributes.link;
     fechaBoton[i] = this.firstChild.childNodes[i].attributes.fecha;
     descripcionBoton[i] = this.firstChild.childNodes[i].attributes.descripcion;
     fuenteBoton[i] = this.firstChild.childNodes[i].attributes.fuente;

   }
   creaBtns(this.firstChild.childNodes.length);
};
function creaBtns(cuantosBotones) {
   var separacion = 0;//separacion a cada MC
   alturaY = 0;//posY en stage
   for (var i = 0; i<cuantosBotones; i++) {
      target= this.attachMovie("notisboton", "notisboton"+i, this.getNextHighestDepth());
      target.link = linkBoton[i];
      target.btn.titular_txt.text = textoBoton[i];
     target.fecha_txt.text = fechaBoton[i];
     target.descripcion_txt.text = descripcionBoton[i];
     target.fuente_txt.text = "Fuente: "+ fuenteBoton[i];
      target._x = 0;//posX en stage
      target._y = alturaY+i*separacion+target._height*i;
      target.btn.link = linkBoton[i];
     target.btn.onRelease = function() {
         getURL(this.link, "blank");
      };
     target.btn.onRollOver = function() {
        this._alpha = 50;
     }
     target.btn.onRollOut = function() {
        this._alpha = 100;
     }
   }
}


Estoy buscando una funcion q destruya el XML cargado pero es donde estoy atascado porque no hay manera y por vueltas q le doy no consigo dar con ello. La funcion seria esta:

Código ActionScript :

function destruyeBtns(){ 
var total = dataObj.length; 
for (var i = 0; i<cuantosBotones; i++) { 
   this["notisboton"+i].removeMovieClip(); 
   } 
}


Muchas gracias!!

Rocha

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox

 

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