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

Esperar Onload

Estas en el tema de Esperar Onload en el foro de Flash y Actionscript en Foros del Web. estimados, tengo una consulta a ver si me pueden ayudar.. dentro de un codigo tengo un bucle (for) y dentro de el entre otras cosas ...
  #1 (permalink)  
Antiguo 28/08/2007, 08:18
Avatar de Maxtor233  
Fecha de Ingreso: agosto-2007
Ubicación: Buenos Aires Argentina
Mensajes: 9
Antigüedad: 10 años, 3 meses
Puntos: 0
Pregunta Esperar Onload

estimados, tengo una consulta a ver si me pueden ayudar..

dentro de un codigo tengo un bucle (for) y dentro de el entre otras cosas sendAndLoad y un OnLoad, como puedo hacer que no continue el codigo hasta que se carguen mis variables externas ?

Código:
for (i=0;i<xx;i++) {
    pepe.sendAndLoad.............
    pepe.OnLoad = fuc.......
}
jaja un mero resumen de lo q ya tendria.. necesitaria... que no pase a la siguiente vuelta hasta q no esten cargadas las variables...

muchas gracias x su tiempo..

saludos.
  #2 (permalink)  
Antiguo 28/08/2007, 08:26
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 13 años, 4 meses
Puntos: 12
Re: Esperar Onload

Código:
function enviar (i:Number) {
   pepe.sendAndLoad...
   pepe.onLoad = comprueba;
}
function comprueba () {
   if (i<xx) {
      i++;
      enviar (i);
   }
}
He metido la variable i en la función enviar por si la necesitas.

Mira a ver si te sirve.

Saludos!
  #3 (permalink)  
Antiguo 28/08/2007, 08:57
Avatar de Maxtor233  
Fecha de Ingreso: agosto-2007
Ubicación: Buenos Aires Argentina
Mensajes: 9
Antigüedad: 10 años, 3 meses
Puntos: 0
Pregunta Re: Esperar Onload

Muchas gracias por tu respuesta...
El problema.. es que... en ese ej, tanto como en el mio, se envian muchas peticiones, antes de que reciba las primeras... y ese es el problema que tengo... lo que el load consulta es un php con datos de un sql.. que apartir de ellos formo unos cuadros doble entreda en tiempo de ejecucion... y por temas de posiciones X e Y y otras variables... si no espero que cada peticion sea respondida es como que se pisan unas a otras, y las variables son reemplazadas antes de ser usadas.

creo que el problema viene por ahi igual sigo investigando


saludos !
  #4 (permalink)  
Antiguo 28/08/2007, 09:34
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 13 años, 4 meses
Puntos: 12
Re: Esperar Onload

Pues es lo que digo (o te entendí mal). En la función comprueba tratas las variables que has recibido de la consulta SQL y luego vuelves a lanzar la función enviar para recibir una nueva consulta.

Saludos!
  #5 (permalink)  
Antiguo 28/08/2007, 09:55
 
Fecha de Ingreso: mayo-2006
Mensajes: 77
Antigüedad: 11 años, 6 meses
Puntos: 1
Re: Esperar Onload

Algo parecido a esto a mi me funciona (en carga de jpg's):
Cita:
envio();
function envio() {
i++;
pepe.sendAndLoad...

}

pepe.onLoad = function() {

if (pepe.loaded == true) {
// CARGADO, HAGO LO QUE SEA Y:

envio();

// LLAMO AL SIGUIENTE

} else {
// SE ACABO...
}
};
La idea es que se vuelve a llamar a la función de carga cuando la anterior a sido OK.

Espero que se entienda la idea.

Un saludo¡
  #6 (permalink)  
Antiguo 28/08/2007, 10:01
Avatar de Maxtor233  
Fecha de Ingreso: agosto-2007
Ubicación: Buenos Aires Argentina
Mensajes: 9
Antigüedad: 10 años, 3 meses
Puntos: 0
Pregunta Re: Esperar Onload

Bueno.. pido disculpas... por plantearlo tan resumidamente el problema , quisiera explicamer mejor...

aca un pedazo del codigo resumido con el cual tengo inconvenientes...

Código:
for (i=0; i<criterio.length; i++) {
	       if (type[i] == "check") {
			duplicateMovieClip(check, "check"+j, i);
			eval("check"+j).label = criterio[i];
			posypre += 20;
			eval("check"+j)._y = posypre;
			j++;
		}
		if (type[i] == "cuadro") {
			posypre += 50;
			cuadros(criterio[i], posypre, i);
		}
}

function cuadros(id, posy, zz) {
	cuadro = new LoadVars();
	cuadror = new LoadVars();
	cuadro.id = id;
	cuadro.sendAndLoad("http://xxxxxxxx/panel/cuadro.php", cuadror, "GET");
	cuadror.onLoad = function(success) {
		if (success) {
			duplicateMovieClip(_root.enc1.encuesta.radio, "radio"+cont, cont);
			eval("radio"+cont)._x = posx;
			eval("radio"+cont)._y = posy;
			posypre = posy;
			
		}
	}
return posypre;
}
a ver si me puedo explicar nu poco mas detalladamente el problema.. como se vera tengo el onload dentro de la funcion.. que devuelve un dato necesario para la funcion principal desde donde se llama a "cuadros", yo busco una forma de que hasta que cuadror.onload no se alla completado el "for" inicial de arriba no continue.. o dicho de otras maneras q la funcion cuadros no termine..

subi un ej de lo q estoy tratando de hacer... este ej funciona bien con un cuadro... pero mal cuando son mas de 1.
ejemplo: http://labs.kids-online.tv/flash/labs-pc-es.html

PD: mientras escribia esto vi la respuesta de roceth que ahora voy a analizar y probar a ver si puedo usarla.

Saludos y gracias por la paciencia !!
  #7 (permalink)  
Antiguo 28/08/2007, 10:49
Avatar de Maxtor233  
Fecha de Ingreso: agosto-2007
Ubicación: Buenos Aires Argentina
Mensajes: 9
Antigüedad: 10 años, 3 meses
Puntos: 0
Exclamación Re: Esperar Onload

roceth no pude adaptar tu solucion a mi codigo...
muchas gracias...

yo sigo probando buuu
  #8 (permalink)  
Antiguo 29/08/2007, 03:39
 
Fecha de Ingreso: mayo-2006
Mensajes: 77
Antigüedad: 11 años, 6 meses
Puntos: 1
Re: Esperar Onload

A ver esto esta improvisado y no testeado, pero sería algo así:

Código PHP:
var i:Number =0;
envio();
function 
envio(){
if (
i<criterio.length){
           if (
type[i] == "check") {
            
duplicateMovieClip(check"check"+ji);
            eval(
"check"+j).label criterio[i];
            
posypre += 20;
            eval(
"check"+j)._y posypre;
            
j++;
        }
        if (
type[i] == "cuadro") {
            
posypre += 50;
            
cuadros(criterio[i], posyprei);
        }
}
i++;
}

function 
cuadros(idposyzz) {
    
cuadro = new LoadVars();
    
cuadror = new LoadVars();
    
cuadro.id id;
    
cuadro.sendAndLoad("http://xxxxxxxx/panel/cuadro.php"cuadror"GET");
    
cuadror.onLoad = function(success) {
        if (
success) {
envio();
            
duplicateMovieClip(_root.enc1.encuesta.radio"radio"+contcont);
            eval(
"radio"+cont)._x posx;
            eval(
"radio"+cont)._y posy;
            
posypre posy;
            
        }
    }
return 
posypre;

Como ves la funcion 'envio' solo se vuelve a llamar cuando el onLoad esta OK.

Saludos
  #9 (permalink)  
Antiguo 29/08/2007, 08:42
Avatar de Maxtor233  
Fecha de Ingreso: agosto-2007
Ubicación: Buenos Aires Argentina
Mensajes: 9
Antigüedad: 10 años, 3 meses
Puntos: 0
De acuerdo Re: Esperar Onload

me gusto tu solucion.. ! gracias ! ya la estoy probando y te cuento como me fue..


Saludos y nuevamente muchas gracias !
  #10 (permalink)  
Antiguo 29/08/2007, 10:08
Avatar de Maxtor233  
Fecha de Ingreso: agosto-2007
Ubicación: Buenos Aires Argentina
Mensajes: 9
Antigüedad: 10 años, 3 meses
Puntos: 0
Sonrisa Re: Esperar Onload

roceth ! gracias ya lo pude solucionar con tu ayuda !!

muchas 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 14:08.