Comunidad de diseño web y desarrollo en internet online

preload para swf con contenido cargado dinamicamente(lib) no funciona!

Citar            
MensajeEscrito el 20 Feb 2012 03:38 am
Hola a todos, el problema que tengo es que estoy intentando hacer un preload para mi swf, el problema es que todo el contenido del swf es cargado dinamicamente de la biblioteca de flash, en otras palabras todos los movieclips que uso en mi swf están exportados para AS y así los añado al escenario. El problema consiste en que no me funciona ningún preload que yo haga y yo creo que se debe que no hay nada de contenido en la linea de tiempo aparte del Frame del as3. pongo el codigo del preload.

Código ActionScript :

stop();
var porcentaje:Number;
var texto:TextField=new TextField;
var barra:Sprite=new Sprite();
var color:int=0x000000;
barra.x=stage.stageWidth/2-50;
barra.y=stage.stageHeight/2-10;
addChild(barra)
addChild(texto);
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onLoadProgress); this.loaderInfo.addEventListener(Event.COMPLETE, onLoadComplete); 
function onLoadProgress(e:ProgressEvent){
porcentaje=(e.bytesLoaded/e.bytesTotal)*100
barra.graphics.clear();
barra.graphics.beginFill(color);
barra.graphics.drawRect(0,0,porcentaje,20);
texto.x=barra.x+barra.width;
texto.y=barra.y;

texto.text=String(Math.round(porcentaje))+"%"

}
function onLoadProgress(e:Event):void{
gotoAndPlay(2);
}

Por xXHowlXx

18 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Feb 2012 06:29 am
el evento tesaltara con el objeto "Loader" que creas para cargar dinamicamente el "swf"

saludos

Por Yonomimi

76 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 21 Feb 2012 01:54 am
Gracias por tu respuesta yonomi, pero al parecer no me explique bien, no cargo un swf externo lo que cargo son movieclips que se encuentran en la biblioteca de mi .fla, los exporto para actionscript y los cargo por medio de movieclips creados con as3 y los añado al stage con addChild, todo dentro del mismo .fla te repito no cargo nada externamente, el problema que comento es que no me funciona ningun preload ya que estos para funcionar deberia de existir algun objeto en la linea de tiempo principal, pero como todo lo cargo desde la biblioteca entonces no me hace la precarga. Alguien sabe como

Por xXHowlXx

18 de clabLevel



 

chrome
Citar            
MensajeEscrito el 21 Feb 2012 03:49 am
el LoaderInfo

los eventos no te saltan por que seguramente esten ya cargados ...pero has mirado cuanto tarda en arrancar principal?

saludos

Por Yonomimi

76 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 21 Feb 2012 04:55 am
Gracias por tu ayuda Yonomimi, de verdad valoro que te tomes el tiempo de ayudar a los demás. Voy a decirte lo que trato de hacer y asi tendras una idea super clara de lo que trata mi problema.

caso 1: caso en el que la precarga funciona a la perfeccion.

Digamos que tengo un archivo fla donde en el primer fotograma se encuentra el siguiente codigo:

Código ActionScript :

stop();
var porcentaje:Number;
var texto:TextField=new TextField;
var barra:Sprite=new Sprite();
var color:int=0x000000;

barra.x=stage.stageWidth/2-50;
barra.y=stage.stageHeight/2-10;

addChild(barra)
addChild(texto);

this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onLoadProgress); 
this.loaderInfo.addEventListener(Event.COMPLETE, onLoadComplete); 

function onLoadProgress(e:ProgressEvent){
   porcentaje=(e.bytesLoaded/e.bytesTotal)*100
   barra.graphics.clear();
   barra.graphics.beginFill(color);
   barra.graphics.drawRect(0,0,porcentaje,20);
   texto.x=barra.x+barra.width;
   texto.y=barra.y;
   
   texto.text=String(Math.round(porcentaje))+"%"
   trace(porcentaje);

}
function onLoadComplete(e:Event):void{
gotoAndPlay(10);
}


en la linea de tiempo sobre el fotograma 10 se encuentra una imagen de unos 700k de peso(aprox.), si hago una simulación de descarga configurada a 57k(4,7kb/s) con el flash player la precarga funciona perfectamente, se ve como avanza la barra de precarga y el aumento del porcentaje cargado.

caso2: este es el caso que necesito que funcione la precarga .

Tengo un archivo fla en donde el primer fotograma tiene el mismo codigo de precarga que el caso 1, hasta ahí todo es igual, la diferencia viene en que ya no pongo la imagen sobre la linea de tiempo si no que la convierto en movieclip y selecciono la opcion de Exportar para actionscript y en la casilla clase le doy el nombre de "img". En el fotograma 10 asigno el siguiente codigo para poder insertar la imagen en el stage:

Código ActionScript :

import flash.display.MovieClip;

stop();
var contenedor: MovieClip = new img();
addChild(contenedor);
contenedor.x = stage.stageWidth/2;
contenedor.y = stage.stageHeight/2;


bueno, lo que hago es insertar la imagen en el fotograma 10, ahora hago la misma simulación de descarga que en el caso1 pero en esta ya no funciona la precarga, solo me muestra el escenario en blanco(no se ve ni como avanza la barra ni el aumento del porcentaje cargado) y luego de un tiempo ya me inserta la imagen con el código del fotograma 10.

Espero con esto aclarar lo mas posible el problema que tengo, si la imagen esta en el escenario funciona perfecto pero si la cargo desde código no funciona el preload. Agradecería que me dijeran como hacer un preload para el caso 2 que es el que necesito.

Por favor si quieren hagan la prueba así me podrían ayudar mejor. Gracias de antemano.

Por xXHowlXx

18 de clabLevel



 

chrome
Citar            
MensajeEscrito el 21 Feb 2012 05:28 am
te ha faltado los eventos de la carga...no?

Código ActionScript :

stop();

var contenedor: MovieClip = new img();
contenedor.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onLoadProgress); 
//contenedor.loaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
addChild(contenedor);

contenedor.x = stage.stageWidth/2;
contenedor.y = stage.stageHeight/2;


el unico problema que veo que para referirte a onLoadProgress que esta en el primer fotograma se pueda hacer asi...sino...con root

saludos

Por Yonomimi

76 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Feb 2012 12:47 am
Gracias Yonomimi por tus respuestas, como ultima medida prefiero enviarte los .fla para que tu mismo hagas las pruebas, en el primer fla funciona a la perfeccion la precarga pero en el segundo no, y es en este segundo .fla donde necesito meterle una precarga pero tal como esta ahi. descarga porfavor los fla desde esta direccion:

http://www.mediafire.com/download.php?wf539wrzo8mdot1

le das en simular descarga en ambos y veras como funciona en uno y en otro no Gracias de antemaro.

Por xXHowlXx

18 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Feb 2012 07:33 pm
he visto tus .fla

en uno cargas una imagen directamente a la linea principal de tiempo...y por eso salta los eventos en la clase principal

en el otro...cargas la imagen en una clase llamado "img"...y los eventos saltan pero en la clase "img"

si quieres recoger dichos eventos en la clase principal pon unos dispatchEvent enla clase "img" paraque los recoja la clase principal

saludos

Por Yonomimi

76 de clabLevel



Genero:Masculino  

firefox

 

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