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

No hace bien la precarga ¿por qué?

Estas en el tema de No hace bien la precarga ¿por qué? en el foro de Flash y Actionscript en Foros del Web. Hola a todos! A ver si me podéis echar una mano, que ando desesperado y no encuentro la solución. Estoy terminando una web cuya interfaz ...
  #1 (permalink)  
Antiguo 10/05/2010, 06:25
 
Fecha de Ingreso: mayo-2010
Mensajes: 1
Antigüedad: 14 años, 6 meses
Puntos: 0
No hace bien la precarga ¿por qué?

Hola a todos!
A ver si me podéis echar una mano, que ando desesperado y no encuentro la solución.

Estoy terminando una web cuya interfaz está hecha totalmente en flash. Uso el flash CS4 con AS3. He de comentar que soy novato con flash y AS3. He programado en otros lenguajes/entornos pero he tenido que partir prácticamente de cero con AS3.

El principal problema que tengo es que en algunos equipos (independientemente del navegador, aunque ocurre con más frecuencia con IExplorer), la página se carga incompleta. Aparecen solo los elementos de la capa fondo pero no se cargan los botones. Esto se soluciona pulsando F5 en el navegador para actualizar, pero no es plan que una página esté así de mal hecha. ¿El problema puede ser por el código HTML y Javascript que llama a la película flash o se debe a la película en sí?

Os comento algunos detalles mas.
Tengo en el fotograma 1 de la película "interfaz" un preloader que normalmente no da tiempo a que se vea pero que parece funcionar bien. Al menos en la simulación de descarga de Flash.
En el fotograma 2 ya está toda la interfaz con los botones, etc. Cada botón lo que hace es llamar a otra película externa que se carga en un contenedor. La carga tb tiene preloader pero la barra no indica la progresión. Sólo sale 0% o 100%. En IExplorer aparece "infinity%". Si esperas la película se carga correctamente, pero no parece funcionar barra en la progresión de la carga.


Resumiendo: tengo dos problemas de momento por resolver. Por qué no cargan todos los elementos al iniciarse la página tras el primer preloader (y hay q recurrir a veces a F5). Y segundo, por qué las barras de precarga de las películas q se cargan en el contenedor no funcionan correctamente (no se ve bien la progresión de descarga y a veces aparece "infinity%".

Os envío el código de la precarga del frame 1:
Código AS3:
Ver original
  1. stop();
  2. textoPorcentaje.x= stage.stageWidth/2;
  3. textoPorcentaje.y= stage.stageHeight/2;
  4. barra.x= (stage.stageWidth/2)+50;
  5. barra.y= (stage.stageHeight/2)+50;
  6. addEventListener(Event.ENTER_FRAME,loading);
  7.  
  8. function loading(event:Event) {
  9.    var bytestotal=stage.loaderInfo.bytesTotal;
  10.    var bytesloaded=stage.loaderInfo.bytesLoaded;
  11.    var sclbar=Math.round(bytesloaded*100/bytestotal);
  12.    //trace(bytesloaded,bytestotal,sclbar);
  13.    textoPorcentaje.text=sclbar+" % cargado";
  14.    barra.gotoAndPlay(sclbar);
  15.    if (bytesloaded>=bytestotal) {
  16.       removeEventListener(Event.ENTER_FRAME, loading);
  17.       removeChild(barra);
  18.       textoPorcentaje.text="";
  19.       removeChild(textoPorcentaje);
  20.       gotoAndStop("inicio");
  21.    }
  22. }



Código AS3:
Ver original
  1. function carga(kk:int):void {
  2.    if (cargando==true) {
  3.       contenedor.unload();
  4.       contenedor.close();
  5.       textoPorcentaje2.visible=true;
  6.       textoPorcentaje2.text="Cargando...";
  7.       barra2.gotoAndStop(0);
  8.    }
  9.  
  10.    if (videoDemo==true) {
  11.       presentacion(false);
  12.    }
  13.    trace("cargando...",URLvideo[kk]);
  14.  
  15.    contenedor.load(new URLRequest(URLvideo[kk]));
  16.    contenedor.visible=true;
  17.    contenedor.contentLoaderInfo.addEventListener(Event.OPEN, onOpen);
  18.    contenedor.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorcarga);
  19.    contenedor.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
  20.    contenedor.contentLoaderInfo.addEventListener(Event.CANCEL, cancelar);
  21.    contenedor.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
  22.  
  23.    function errorcarga(e:Event):void {
  24.       trace("ERROR EN CARGA",e);
  25.    }
  26.  
  27.    function onOpen(e:Event):void {
  28.       barra2.visible=true;
  29.       textoPorcentaje2.visible=true;
  30.       textoPorcentaje2.text="Cargando...";
  31.       barra2.gotoAndStop(0);
  32.       trace("abriendo...",URLvideo[kk],e);
  33.    }
  34.  
  35.    function cancelar(e:Event):void {
  36.       barra2.visible=false;
  37.       textoPorcentaje2.visible=false;
  38.       trace("CANCELADO",URLvideo[kk],e);
  39.    }
  40.  
  41.    function onProgress(e:ProgressEvent):void {
  42.       cargando=true;
  43.       trace("fase de carga...",URLvideo[kk],e);
  44.       var porc:Number=Math.round((e.bytesLoaded * 100)/e.bytesTotal);
  45.       textoPorcentaje2.text=porc+"%";
  46.       barra2.gotoAndStop(porc);
  47.    }
  48.  
  49.    function onComplete(event:Event):void {
  50.       cargando=false;
  51.       trace("completado",event);
  52.       barra2.visible=false;
  53.       textoPorcentaje2.visible=false;
  54.       addChild(contenedor);
  55.       contenedor.removeEventListener(Event.COMPLETE, onComplete);
  56.    }
  57. }


A ver si alguien me puede ayudar!

Gracias de antemano

Passer

Etiquetas: precarga
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 11:15.