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

Preloader

Estas en el tema de Preloader en el foro de Flash y Actionscript en Foros del Web. Hola buenas!!! Estoy creando un preloader pero quiero que si el usuario tiene una conexion extra rapida al menos tenga que estar 5 segundos en ...
  #1 (permalink)  
Antiguo 24/10/2004, 13:51
 
Fecha de Ingreso: noviembre-2003
Ubicación: España->Madrid
Mensajes: 368
Antigüedad: 20 años, 5 meses
Puntos: 0
Pregunta Preloader

Hola buenas!!!

Estoy creando un preloader pero quiero que si el usuario tiene una conexion extra rapida al menos tenga que estar 5 segundos en el preloader.

Entonces mi código es el siguiente:

[CODE]
if (_root.getBytesLoaded()>=_root.getBytesTotal()) {
_root.gotoAndPlay("inicio");
}

A = ((_root.getBytesLoaded()/_root.getBytesTotal())*100);

porcentaje = Math.round(A)+"%";

_root.barra1._xscale = A;
CODE]

Donde deberia poner lo de los 5 segundos? :S
Supongo que sería con la funcoin getTimer... xo no se muy bien

Espero su ayuda gracias!!!!
  #2 (permalink)  
Antiguo 24/10/2004, 15:49
Avatar de alEjitus  
Fecha de Ingreso: octubre-2004
Ubicación: Ahora mismo en Barcelona España, auqnue soy de Buenos Aires, Argentina.
Mensajes: 56
Antigüedad: 19 años, 5 meses
Puntos: 0
Sonrisa

Hola SuRpRiSe18! :)

es verdad, como bien decis, es con la funcion getTimer(), y esta deberá ir parte al principio de tu preload y parte despues (donde diga, si pasaron 5 segundos y su cargo todo -> reproducir pelicula!)

Vamos a poner una etiqueta "aca" en el frame previo a donde tenes la etiqueta "inicio".

Antes del condicional que tenes de tu preload, pondremos el getTimer (esta claro que este preload debe tener una instancia que dure desde el frame 1 hasta el frame anterior a "inicio", o no funcionará el getTimer().

Tomando tu codigo como ejemplo...

cuenta=getTimer();
if (_root.getBytesLoaded()>=_root.getBytesTotal()) {
_root.gotoAndStop("aca");
}

A = ((_root.getBytesLoaded()/_root.getBytesTotal())*100);

porcentaje = Math.round(A)+"%";

_root.barra1._xscale = A;


Luego en el frame"aca" pones un MC vacio con su primer frame en blanco. Tiras una instancia de este MC en el escenario y click con boton derecho-> acciones y pones:

onClipEvent(enterFrame){
if(cuenta>5000){
play();
}
}

Con esto, por má que cargue rápido deberan pasar 5 segundos (o sea 5000 milisegundos como cuenta el getTimer)..... si demoro mucho en cargar hablan pasado los 5 segundos por lo que la accion comenzara sin problemas.

Cuanquier cosa chifle!

Salutti!
__________________
alEjitus!® :-)
  #3 (permalink)  
Antiguo 25/10/2004, 06:43
 
Fecha de Ingreso: noviembre-2003
Ubicación: España->Madrid
Mensajes: 368
Antigüedad: 20 años, 5 meses
Puntos: 0
No funciona

Hola AlEjitus!!!

Anoche estuve probando con tu solución, pero hay algo que no funciona.

Te voy a explicar la estructura que tengo,porque el error seguro que es mio y es una parida además.

Tengo 4 frames:

1º El del preloader
2º Uno en blanco
3º Frame inicio (el que tu llamaste "aca")
4º La Movie final

en el frame 1 en un layer sólo para AS pongo

Código:
cuenta=getTimer()

if (_root.getBytesLoaded()>=_root.getBytesTotal()) {
	_root.gotoAndPlay("inicio");
}

A = (_root.getBytesLoaded()/_root.getBytesTotal()*100);
porcentaje = Math.round(A)+"%";

_root.barra1._xscale = A;
Después en el frame "inicio" pongo

Código:
if(cuenta>5000){
	play();
}
pero el problema es que no hacia la parada

Entonces se me ocurrio poner:
Código:
if(cuenta>5000){
	play();
}else{
gotoAndPlay(2);
}
}
Pero lo unico que consigo es que vuela al frame 2 y de ahí no se mueva :S
(e comprobado que se keda en el frame 2).

Que esta mal?

Muxas gracias x la ayuda.


P.D.: También lo pobre con lo del movieclip y me daba el mismo resultado
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 03:57.