Comunidad de diseño web y desarrollo en internet online

ayuda con XML en actionscript

Citar            
MensajeEscrito el 18 Ene 2007 10:55 pm
hola a todos,
mi duda es saber como hacer que aparezca un movieclip mientras esta cargando un objeto XML.
porque el xml es pesado, es decir tiene mucha información, y demora mucho en cargar, por eso desearía si me podrían ayudar a que mientras carga el archivo xml muestre o un mensaje o un mc.
gracias

Por bkr

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Ene 2007 11:30 pm

Código :

var hilo:Number;
myxml = new XML();
myxml.ignoreWhite = true;
function prelXml():Void{
   var xmlPorcent = Math.round(myxml.getBytesLoaded()/myxml.getBytesTotal()*100);
   prel_mc.gotoAndStop(xmlPorcent); /
   //trace("Cargando XML... " + xmlPorcent + "%");
   if(xmlPorcent >= 100){
      clearInterval(hilo);
      //Importante, aqui va el codigo que quieras ejecutar, cuando la precarga del xml ya terminó!!!!!!!
   }
}
myxml.onLoad = function(exito:Boolean):Void{
   if(exito){
      trace("XML Cargado!!");
   }else{
      trace( "XML No Cargado!!");
   }
};
//---------------------------------------------------------------------------------------
// xmlname es el nombre del archivo xml a cargar
function loadPerData(xmlname:String):Void{
   //prel_mc es un clip animacion para ver la precarga del xml
   prel_mc._visible = true;
   myxml.load(xmlname);
   hilo = setInterval(prelXml, 100);
};


La idea de este codigo es hacer una precarga real del xml
pega este codigo en el 1 frame de la pelicula, y en el stage, pon un movieclip con instancia prel_mc, dentro de el haz una interpolacion de forma o movimiento, la que mas te plazca; que dure 100 frames, exactemente. Obviamente tu animacion sera parecida a una barra que va creciendo de tamaño.
la precarga se activara cuando llames a loadPerData, que llama al metodo load del xml, e inicia una funcion (prelXml) que se actualiza constantemente a travez del setInterval; dicha funcion nos dara el porcentaje de precarga del xml.

Cualquier duda, nos dices...
P.D. corregido un errorcillo.

Por rolv

Claber

2000 de clabLevel

3 tutoriales

 

firefox
Citar            
MensajeEscrito el 19 Ene 2007 12:18 am
hola ramiro_olvera,
gracias por tu ayuda, pero lo he probado y no funciona. :(
ademas un par de dudas:
la funcion loadPerData nunca se ejecuta, pero cambiando el codigo, es decir lo hago ejecutar, no funciona porque el mensaje se muestra luegode terminar la carga y no miestras se esta cargando.


bueno, igualmente gracias, :wink:

Por bkr

1 de clabLevel



 

msie
Citar            
MensajeEscrito el 19 Ene 2007 12:42 am
a ver!!! si copias y pegas el codigo te va a decir que en la línea que dice: (Línea 6)
prel_mc.gotoAndStop(xmlPorcent); /
hay un / de mas!!
Luego de quitarlo, si copias y pegas el codigo, debes de mandar llamar la funcion loadPerData, con el nombre y ruta de tu xml. esta funcion la puedes llamar directamente o a travez de un boton, segun lo requieras

Código :

loadPerData("lngEsp.xml"); // yo la mando llamar asi!!! , directamente


Mi xml pesa 4 mb y tiene 52803 lineas, probandolo en local , la precarga es automatica, y me manda directamente a que ya termino!!! SIN VER NADA DE ANIMACIÓN

Si tienes oportunidad de ver tu animacion en un servidor (quiero creer es est xml es para web), ya lo podras probar bien, o en su defecto en local usando el viejo truco de dos control + enter, rápidos, para poder ver la precarga.
De otra manera, en local no podras apreciarla bien!!!

Por rolv

Claber

2000 de clabLevel

3 tutoriales

 

firefox
Citar            
MensajeEscrito el 19 Ene 2007 01:09 am
disculpame pero no puedo hacerlo andar, y lo he probado dentro de un servidor.
talvez haga cosas mal ya que tengo que hacerle modificaciones para que se adapten al codigo que ya tengo hecho.
gracias por tu ayuda

Por bkr

1 de clabLevel



 

msie
Citar            
MensajeEscrito el 21 Ene 2007 01:57 pm

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 23 Ene 2007 11:02 pm
Que tal a todos.

Ramiro yo tambien lo probe y el mensaje de error que me esta enviando es el siguiente:

**Error** Escena=Escena 1, capa=Capa 11, fotograma=1:Línea 76: Se espera nombre de parámetro
function loadPerData("images2.xml"):Void{

**Error** Escena=Escena 1, capa=Capa 11, fotograma=1:Línea 81: Se ha detectado un '}' inesperado
};

Total de errores de ActionScript: 2 Errores comunicados: 2

Por sfa

72 de clabLevel



 

Mexico DF

firefox
Citar            
MensajeEscrito el 24 Ene 2007 02:05 am
un error de sintaxis, algo escribiste mal eso es todo

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 24 Ene 2007 12:14 pm
**Error** Escena=Escena 1, capa=Capa 11, fotograma=1:Línea 76: Se espera nombre de parámetro
function loadPerData("images2.xml"):Void{

**Error** Escena=Escena 1, capa=Capa 11, fotograma=1:Línea 81: Se ha detectado un '}' inesperado
};

Total de errores de ActionScript: 2 Errores comunicados: 2


En la declaración de una función no puedes escribir directamente un String como parámetro, sino que tienes que definir un nombre de variable. Por ejemplo:

Código :

function loadPerDate(xmlname: String): Void {


Una vez resuelto este error seguro que ya no te dará tampoco el segundo :wink:

Saludos

Por dmvalverde

150 de clabLevel



Genero:Masculino  

Extremadura

firefox

 

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