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

Preloader en visor de imágenes (AS2.0)

Estas en el tema de Preloader en visor de imágenes (AS2.0) en el foro de Flash y Actionscript en Foros del Web. Buenas tardes a todos: Tengo un visor de imágenes realizado, es decir, un simple botón que al accionarlo carga imágenes en un visor, lo que ...
  #1 (permalink)  
Antiguo 02/05/2011, 12:30
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Exclamación Preloader en visor de imágenes (AS2.0)

Buenas tardes a todos:
Tengo un visor de imágenes realizado, es decir, un simple botón que al accionarlo carga imágenes en un visor, lo que ocurre es que tarda quizá 1 0 2 segundos, de manera que quisiera hacer una precarga justo ahí, para anunciar que la imagen se está cargando.
La cuestión es que no sé "cómo apuntar" directamente a los botones para que al accionarlos antes de la imagen se muestre la precarga

Este es mi script:

stop();
PATO_01.onPress = function(){
gotoAndStop(11)
}
PATO_02.onPress = function(){
gotoAndStop(12);
}
PATO_03.onPress = function(){
gotoAndStop(13);
}
PATO_04.onPress = function(){
gotoAndStop(14);
}

...y este es mi código de la precarga:
stop();

carga_mc.onEnterFrame=function(){
var cargados=Number=_root.getBytesLoaded();
var totales=Number=_root.getBytesTotal();
var porcentaje=Math.round((cargados/totales)*100);
if(cargados>=totales){
gotoAndPlay(11);
}
porcentaje_txt.text=porcentaje+"%";
barra_mc._xscale=porcentaje;
barravert_mc._yscale=porcentaje;

anima_mc.gotoAndStop(porcentaje);
}


Muchísimas gracias. Me urge bastante solucionar el problema, así que agradecería doblemente la rapidez de respuesta.
Un saludo.
  #2 (permalink)  
Antiguo 02/05/2011, 12:39
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Preloader en visor de imágenes (AS2.0)

Hola lukate:
Bienvenido al Foro.
Revisa éste link: http://blog.unijimpe.net/precargar-archivos-en-flash/

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 02/05/2011, 12:46
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Preloader en visor de imágenes (AS2.0)

Muchas gracias por la rapidez!!
Entonces, suprimo por completo el script que tengo, hasta los del botón? o lo agrego a continuación?
  #4 (permalink)  
Antiguo 02/05/2011, 16:15
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Preloader en visor de imágenes (AS2.0)

En ese tutorial está explicado la forma de hacer, además tienes el archivo fuente para bajarlo.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #5 (permalink)  
Antiguo 03/05/2011, 00:56
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Preloader en visor de imágenes (AS2.0)

Sigo sin poder hacer que el código funcione: ¿he de ponerlo en una capa dentro del botón o al mismo texto de "cargando"?
  #6 (permalink)  
Antiguo 03/05/2011, 01:58
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Preloader en visor de imágenes (AS2.0)

Otra cuestión:
He pensado poner la precarga en el interior de mi botón justo después de este código:
on(rollOver){
ANIMA.loadMovie("http://www.XXX/resources/file/XX.swf");


Cómo he de hacerlo?? Muchas gracias
  #7 (permalink)  
Antiguo 03/05/2011, 10:43
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Preloader en visor de imágenes (AS2.0)

Hola Lukate:
Para empezar el código loadMovie() no se usa para cargar una página HTML.
Si tú quieres es cargar imágenes y que éstas tengan un preloader, no es necesario que lo cargues en diferentes frames, como lo tienes en tus botones ( frame 11. 12, 13, 14).
Crea un MC en el primer frame dibuja un rectángulo de 60 x 18 con el color que desees y sin borde, en las coordenadas X = 0 e Y = 0.
En la capa 1 frame 1 de tu película coloca tus botones con sus respectivos nombres de instancia: pato_1 al pato_4.
Crea la capa 2 frame 1 colocas el MC que contiene el rectángulo y le pones como nombre de instancia: barra, encima del MC coloca un campo de texto dinámico con nombre de instancia: porcentaje.
Crea la capa 3 y en el frame 1 escribe éste código:
Código actionscript:
Ver original
  1. var vacio:MovieClip = this.createEmptyMovieClip("vacio", 1);
  2. vacio._x = 180;
  3. var loop:MovieClip = this.createEmptyMovieClip("loop", 0);
  4. var vacio:MovieClip;
  5. barra._xscale = 0;
  6. function cargador(foto) {
  7.  vacio.loadMovie(foto);
  8.  loop.onEnterFrame = function() {
  9.   total = vacio.getBytesTotal();
  10.   cargados = vacio.getBytesLoaded();
  11.   t = Math.floor((cargados*100)/total);
  12.   porcentaje.text = t+"% cargado";
  13.   barra._xscale = t;
  14.   if (t>=100) {
  15.    delete loop.onEnterFrame;
  16.    porcentaje.text = "";
  17.    barra._xscale = 0;
  18.   }
  19.  };
  20. }
  21. pato_1.onPress = function() {
  22.  cargador("nombre.jpg");
  23. };
  24. pato_2.onPress = function() {
  25.  cargador("nombre.jpg");
  26. };
  27. pato_3.onPress = function() {
  28.  cargador("nombre.jpg");
  29. };
  30. pato_4.onPress = function() {
  31.  cargador("nombre.jpg");
  32. };
Espero haberte sido de yuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #8 (permalink)  
Antiguo 04/05/2011, 01:18
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Preloader en visor de imágenes (AS2.0)

Las imágenes que deseo cargar están dentro de un swf, me serviría el código que me indicas?
Gracias
  #9 (permalink)  
Antiguo 04/05/2011, 03:25
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Preloader en visor de imágenes (AS2.0)

Por otro lado, los botones pato_1 y demás son botones principales que despliegan un submenú, ¿he de variar esto también?
  #10 (permalink)  
Antiguo 04/05/2011, 04:05
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Preloader en visor de imágenes (AS2.0)

He seguido todos los pasos pero no he conseguido que me salga. La ruta del jpeg debe ser absoluta?? o solamente con nombrarla "desde donde estoy" sobraría?

No consigo solucionarlo.
Pero gracias :)
  #11 (permalink)  
Antiguo 04/05/2011, 04:21
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Preloader en visor de imágenes (AS2.0)

Lo he logrado cargando también swf, la cuestion es que sólo se me muestra un segundo y después desaparece,¿hay alguna forma de mantenerlo visible? Siento mucho tener tanta pregunta, pero cuanto más avanzo más ideas se me ocurren.

Graciass!!!!!:)
  #12 (permalink)  
Antiguo 04/05/2011, 10:00
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Preloader en visor de imágenes (AS2.0)

Sobre tu primera pregunta, si tienes las imágenes dentro de un .swf, no puedes cargar las imágenes de allí, porque se cargará el .swf con todas las imágenes que hayan allí.
Con el código que te di puedes cargar imágenes o películas externas.
Las imágenes tiene que estar guardadas en la misma carpeta donde está el .fla, si la tienes en otra carpeta tendrás que darle la ruta.
El nombre de los botones la tome del ejemplo que mostraste, utiliza el nombre de instancia de los botones que tiene que cargar las imágenes.
No es que las imágenes estén visibles unos segundos como dices tú, lo que pasa es que al presionar otro botón la primera imagen desaparecerá al cargarse la siguiente ya que se está usando el mismo MC_vacío como contenedor de las cargas.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #13 (permalink)  
Antiguo 06/05/2011, 01:34
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Preloader en visor de imágenes (AS2.0)

Buenas Bandit:
No me funciona la barra de precarga. He empezado de nuevo siguiendo tus pasos y no se ve. En el texto dinámico con nombre de instancia "porcentaje" hemos de escribir algo? Es que desde que publico se me ve el porcentaje antes de darle previamente a ningún botón.

Te comento que he cambiado el menú para hacerlo desplegable y simplificarlo un poco, procediendo de la siguiente forma:
He creado un MC donde coloco los botones principales, con nombres de instancia pato_01, etc. Posteriormente creo otro MC donde ubico los botones secundarios: en la primera capa los botones, en la segunda una interpolación de movimiento de un rectángulo que se despliega y que después convertí en máscara, y en la tercera el código AS, con un stop(); (al igual que en el menú que también hay un stop). Entonces a cada botón del submenú le meto el siguiente código:
on(rollOver){
this._visible = true;
}
on (rollOut) {
this._visible = false;
}
on (press){
ANIMA.loadMovie("http://www.xx.swf");
}
on (press){
loadMovie("xx",0);
}

//esto es así pq quiero que en primer lugar se vea una "previa" del swf al pasar por encima del ratón (como una miniatura que se ve a través de un mc llamado ANIMA, de 595x541), lo que ocurre es que como el "rollover" tiene asignada ya función he decidido ponerle a esta "previa" el evento onPress, no sé si será correcto. La última línea de código despliega ya el swf anterior a pantalla completa. Esta es una de mis dudas, cómo hacer que primero se vea la previa (anteriormente se veía con sólo pasar por encima el ratón), y si es correcto poner 2 onpress seguidos.

Por último, dentro de este mc con el menú y el submenú incluidos, introduzco en pato_01 el código :
on (rollOver) {
if (!this.clpMenu._visible)
{
this.clpMenu.gotoAndPlay("abrir");
this.clpMenu._visible = true;
}
}

Posteriormente, ya en el escenario, realizo todos tus pasos correctamente, pero no se ve la barra de precarga creciendo ni el porcentaje apuntando, ¿dónde está el fallo?

Nótese que no sé si poner la programación que enlaza a la web encima de cada botón del submenú (como decía anteriormente) o ya desde la capa AS en el fotograma que contiene el código que me enviaste.
Con lo cual, 3 dudas:
1- por qué no funciona la precarga?
2- en la programación del botón qué he de poner para que primero se vea la "previa" del swf y luego con otro evento el swf desplegado a pantalla completa?
3- enlazo a la web desde dentro del submenú encima de cada botón o desde la capa AS del escenario? en este último caso, cómo apunto directamente a los botones llamados (nombre de instancia) por ejemplo btn_1, btn_2...??

Mil gracias, me estás ayudando muchísimo. Y espero que le sirva a alguien más.
  #14 (permalink)  
Antiguo 06/05/2011, 11:10
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Preloader en visor de imágenes (AS2.0)

No entiendo lo que quieres hacer.
En primer lugar ya te dije que con éste código:
Código actionscript:
Ver original
  1. on (press){
  2. ANIMA.loadMovie("http://www.xx.swf");
  3. }
No se carga páginas HTML, además no existe el código: http://www.xxx.swf, tendría que ser así: http://www.xx.html, además anteponer getURL(); y no el loadMovie();
Si no se ve la precarga puede ser porque está en el escenario principal y los botones no.
Este código está mal:
Código actionscript:
Ver original
  1. on (press){
  2. loadMovie("xx",0);
  3. }
Si xx es el nombre del archivo que extensión tiene, además con loadMovie() no se usa el nivel da carga, además no se debe poner el mismo evento 2 veces en un botón, puedes usas on(press) y on(release).

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #15 (permalink)  
Antiguo 08/05/2011, 06:14
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Preloader en visor de imágenes (AS2.0)

Bien, jajaja, por partes, que creo que como voy comentando las cosas tal y como se me van ocurriendo te estoy liando verdaderamente.

Mi objetivo inicial era llamar a 2 swf, lo que te comenté de llamar a los html te lo comentaba por si era mejor utilizarlos junto con getURL() para ganar en rapidez de carga.

Cuando te indico "XX" evidentemente es un ejemplo, claro que hay que poner la ruta.

Pero como te comentaba, si tienes en cuenta que las rutas a la web son correctas que sigo todos tus pasos para llamar a los swf (y no a los html) y además tengo tanto los botones como la barra de precarga en el escenario principal...teniendo en cuenta todo esto, sigue sin verse cargar la precarga y verse el texto del porcentaje aumentar hasta el 100%

Entiendo que quieres decirme que con loadMovie no se puede hacer una precarga y por eso me indicabas poner en el AS "cargador" detrás del evento del ratón.
Si esto es así, lo he probado y no me funciona (indicando la ruta absoluta de mi swf al servidor web de mi página)

Gracias
  #16 (permalink)  
Antiguo 08/05/2011, 13:04
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Preloader en visor de imágenes (AS2.0)

Te agradecería que leas con más detenimiento mi 3er post.
En primer lugar nunca dije esto:
Cita:
Entiendo que quieres decirme que con loadMovie no se puede hacer una precarga
Si tú estás probando la precarga en el Proyector al hacer Ctrl + Enter, nunca verás la precarga, lo que tienes que hacer para visualizarlo es hacer, Ctrl + Enter 2 veces.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #17 (permalink)  
Antiguo 08/05/2011, 17:18
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Preloader en visor de imágenes (AS2.0)

Muchas gracias por todo, me ha sido muy útil tu ayuda, un saludo!
  #18 (permalink)  
Antiguo 09/05/2011, 02:20
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Preloader en visor de imágenes (AS2.0)

Una última cuestión:
¿puedo hacer que la función cargador se ejecute dentro de un cuadrado que tengo dentro de mi página, que es un mc llamado ANIMA?

FH_01.onPress = function() {
cargador("http://www.XXX.swf");
};

¿Cómo quedaría este código entonces?
  #19 (permalink)  
Antiguo 13/05/2011, 06:16
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Preloader en visor de imágenes (AS2.0)

Cita:
Iniciado por Bandit Ver Mensaje
Si no se ve la precarga puede ser porque está en el escenario principal y los botones no.
Bien solamente me falta esto último, tenías razón, ahora entiendo lo que querías decir, pues el botón que quiero que lleve ese código está dentro de un movieclip "submenu" a su vez dentro de otro mc "menu". Es decir, mientras los botones principales sí están en el escenario principal, los botones que quiero que funcionen no lo están, ya que permanecen ocultos dentro de otro mc.
¿Cómo apunto a estos botones?
He probado algo similar a _root.menu.submenu.FH_01.onPress = function() {
cargador("nombre.jpg");

Ayuda por favor, casi lo tengo apunto.

Por otro lado, he probado con otro botón en el escenario y carga perfectamente, pero no se ve la precarga. Quiero que me cargue el swf dentro de mcclip y no en el centro de mi película principal.
Mil gracias, estoy desesperada
  #20 (permalink)  
Antiguo 13/05/2011, 06:35
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 13 años
Puntos: 0
Respuesta: Preloader en visor de imágenes (AS2.0)

Cita:
Quiero que me cargue el swf dentro de mcclip y no en el centro de mi película principal.
SOLUCIONADO, he escrito:
boton.onPress = function() {
cargador( "XX.swf", mcclip );

};

Ahora solamente me falta saber cómo llamar a los botones dentro el mc "submenu" .
Se me olvidaba comentarte que este !submenu"esta en el fotograma 2 del mc "menu"

Graciassssssssssssssss
  #21 (permalink)  
Antiguo 13/05/2011, 11:16
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Preloader en visor de imágenes (AS2.0)

Hola lukate:
Sube tus archivos a un servidor para poderlo bajar y ver como lo estás haciendo.

Espero poderte ser de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/

Etiquetas: preloader
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 12:19.