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

Problema con precarga

Estas en el tema de Problema con precarga en el foro de Flash y Actionscript en Foros del Web. Hola a tod@s: Queria saber si alguien podria ayudarme con el codigo para una precarga ya que he utilizado varios y con ninguno consigo hacerlo. ...

  #1 (permalink)  
Antiguo 11/11/2010, 12:52
 
Fecha de Ingreso: octubre-2010
Mensajes: 96
Antigüedad: 14 años, 1 mes
Puntos: 2
Problema con precarga

Hola a tod@s:

Queria saber si alguien podria ayudarme con el codigo para una precarga ya que he utilizado varios y con ninguno consigo hacerlo.
He utilizado este poniendolo en el primer fotograma de mi pelicula y a partir de ahi el contenido pero no me funciona:

Código:
addEventListener(Event.ENTER_FRAME, lodeando);

function lodeando(event:Event):void
{
	var bytestotales = stage.loaderInfo.bytesTotal;
	var bytescargados = stage.loaderInfo.bytesLoaded;
	var porcentaje = Math.round(bytescargados * 100 /bytestotales);
	
	
	textoporcentaje.text = porcentaje + "% cargados";
	cargaanimada_mc.gotoAndStop(porcentaje);
	
	
	if (bytescargados == bytestotales)
	{
		removeEventListener(Event.ENTER_FRAME, lodeando);
		gotoAndPlay(2);
		textoporcentaje.text = "";
		removeChild(textoporcentaje);
		removeChild(cargaanimada_mc);
	}
}
Gracias por adelantado
  #2 (permalink)  
Antiguo 11/11/2010, 18:23
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 21 años, 4 meses
Puntos: 406
Respuesta: Problema con precarga

Hola vanessa_ob:
Aquí tienes un tutorial: http://blog.unijimpe.net/precargar-archivos-en-as3/

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 12/11/2010, 05:55
 
Fecha de Ingreso: octubre-2010
Mensajes: 96
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Problema con precarga

Gracias Bandit!

Tengo una duda que no se si podrias resolverme, mi pagina la tengo con un archivo principal en la que cargo swfs, uno para cada apartado, entonces ya para cada boton tengo cargado el archivo, con una funcion cargar y luego para cada boton al hacer click que cargue el correspondiente swf. Entonces no se si seria valido porner en mi archivo principal el codigo de la precarga directamente

Última edición por vanessa_ob; 12/11/2010 a las 06:02
  #4 (permalink)  
Antiguo 12/11/2010, 07:37
Avatar de mikeggg  
Fecha de Ingreso: marzo-2008
Ubicación: Santa Cruz de la Sierra
Mensajes: 125
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Problema con precarga

No te olvides que antes de addEventListener, tienes que poner Stage... por que es el objeto que recibira, o estara listo para que ocurra el Evento...
  #5 (permalink)  
Antiguo 12/11/2010, 08:45
 
Fecha de Ingreso: octubre-2010
Mensajes: 96
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Problema con precarga

He intentado hacerlo... he puesto contenedor en lugar de stage porque cargo mis swfs en un contenedor vacio pero me da error, mi codigo no es exactamente como el del tutorial, quizas ese sea el problema. No se como ponerlo para que no me salga el error. Tendria que poner la precarga en cada boton? porque tengo unos botones lo cuales llaman a sus correspondientes swfs externos
Gracias
  #6 (permalink)  
Antiguo 12/11/2010, 11:26
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años, 5 meses
Puntos: 67
Respuesta: Problema con precarga

Quieres cargar un swf externo? ó quieres cargar el principal?
__________________
{ Flash }
  #7 (permalink)  
Antiguo 12/11/2010, 11:43
 
Fecha de Ingreso: octubre-2010
Mensajes: 96
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Problema con precarga

Quiero poner la precarga a las swfs externos. Tengo uno asi que carga al principio:

Código:
var Xpos:Number = 0;
var Ypos:Number = 0;
var loader:Loader = new Loader(); 
var defaultSWF:URLRequest = new URLRequest("partes/principal1.swf"); 
loader.load(defaultSWF);

loader.x = Xpos;
loader.y = Ypos;


loader.contentLoaderInfo.addEventListener(Event.OPEN, onOpen);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
function onOpen(event:Event):void {
    txtload.text = "CARGANDO 0%";
}
function onProgress(event:ProgressEvent):void {
    var bLoad = event.bytesLoaded;
    var bTot = event.bytesTotal;
    txtload.text = "CARGANDO "+Math.round(100*bLoad/bTot)+"%";
}
function onComplete(event:Event):void {
    txtload.text = "";
    contenedor.addChild(loader);
   
}
Este me funciona, pero los demas swfs los tengo con tu codigo y no se como ponerlo para que me funcionen porque al tener las funciones cargar y activar y desactivar botones... se me complico, intente hacerlo pero no me funciona. Queria ponerle una precarga a cada uno de los swfs externos. el codigo lo tengo tal y como me lo has dado.
Gracias por todo
  #8 (permalink)  
Antiguo 12/11/2010, 12:09
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años, 5 meses
Puntos: 67
Respuesta: Problema con precarga

Suma lo que esta en rojo a la funcion cargar:
Cita:
//Loader
function cargar(ruta:String)
{

borra();
//
var loader:Loader =new Loader();
//
loader.load(new URLRequest(ruta));
loader.contentLoaderInfo.addEventListener( Event.COMPLETE, completo );
loader.contentLoaderInfo.addEventListener(Progress Event.PROGRESS,progreso);
//; ;
function completo( event:Event ):void
{


borra();

contenedor.addChild(loader);
activa();

}

function progreso( event:Event ):void
{




var total:Number = event.currentTarget.bytesTotal;
var cargados:Number = event.currentTarget.bytesLoaded;
var porcentaje:Number;
porcentaje=Math.floor((cargados*100)/total);
trace(porcentaje);

}



}
__________________
{ Flash }
  #9 (permalink)  
Antiguo 12/11/2010, 12:30
 
Fecha de Ingreso: octubre-2010
Mensajes: 96
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Problema con precarga

Muchas gracias! Voy a ver.
El primer swf por cierto me acabo de dar cuenta de que asi no se me descarga, para que se me descargue con ponerlo como los demas me valdria? Pero quiero que arranque solo sin pulsar ningun boton por eso lo tenia asi. Muchas gracias una vez mas
  #10 (permalink)  
Antiguo 12/11/2010, 12:43
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años, 5 meses
Puntos: 67
Respuesta: Problema con precarga

si quieres cargar un swf al entrar deberias poner el codigo que esta en el boton fuera de él, por ejemplo:
Cita:

boton_desactivado = MaytheLeiva_btn;

desactiva();
cargar("partes/mayte.swf");


MaytheLeiva_btn.addEventListener(MouseEvent.CLICK, botonPulsado);
function botonPulsado(e:MouseEvent):void
{
boton_desactivado = MaytheLeiva_btn;

desactiva();
cargar("partes/mayte.swf");

}
__________________
{ Flash }
  #11 (permalink)  
Antiguo 12/11/2010, 12:51
 
Fecha de Ingreso: octubre-2010
Mensajes: 96
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Problema con precarga

si hago eso me sale este error: TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at principal_fla::MainTimeline/desactiva()
at principal_fla::MainTimeline/frame270()

De todas formas yo lo que queria era tener los botones tal y como los tenia pero a mayores que se cargara un swf mas que yo lo tenia asi para que se me cargara solo pero claro, no se me descarga. En lo de la precarga tengo que poner algun texto dinamico o algo? no me sale nada, igual es debido a que tengo poco peso
  #12 (permalink)  
Antiguo 12/11/2010, 12:59
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años, 5 meses
Puntos: 67
Respuesta: Problema con precarga

Cita:
Iniciado por vanessa_ob Ver Mensaje

pero a mayores que se cargara un swf mas que yo lo tenia asi para que se me cargara solo
no entendi eso.

para ver la precarga ya depende de que quieras hacer vanesa , si quieres hacer solo un campo de texto ó una barra no sé que quieras hacer.
__________________
{ Flash }
  #13 (permalink)  
Antiguo 12/11/2010, 13:06
 
Fecha de Ingreso: octubre-2010
Mensajes: 96
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Problema con precarga

Me refiero a que quiero todos los swfs en los botones tal y como los tenia pero al principio necesitaba que se me cargara un swf mas que no se cargara con ningun boton, sino que se cargue solo, entonces yo lo tenia asi y funciona:

v
Código:
ar Xpos:Number = 0;
var Ypos:Number = 0;
var loader:Loader = new Loader(); 
var defaultSWF:URLRequest = new URLRequest("partes/principal1.swf"); 
loader.load(defaultSWF);

loader.x = Xpos;
loader.y = Ypos;
pero asi no se me descarga, queria que se me descargue.
Con respecto a la precarga... con que me salga me conformo xD en principio con el texto me valdria. Gracias
  #14 (permalink)  
Antiguo 12/11/2010, 13:17
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años, 5 meses
Puntos: 67
Respuesta: Problema con precarga

Entonces solo usa esto:
Cita:
cargar("partes/principal1.swf");
para cargar un swf, eso lo probe y funciona.

para la precarga crea un campo de texto, llamalo porcentaje_txt y en la funcion progreso suma lo de rojo

Cita:
function progreso( event:Event ):void
{




var total:Number = event.currentTarget.bytesTotal;
var cargados:Number = event.currentTarget.bytesLoaded;
var porcentaje:Number;
porcentaje=Math.floor((cargados*100)/total);
trace(porcentaje);

porcentaje_txt.text=String(porcentaje)

}
__________________
{ Flash }
  #15 (permalink)  
Antiguo 12/11/2010, 13:34
 
Fecha de Ingreso: octubre-2010
Mensajes: 96
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Problema con precarga

Asi me funcionaba lo del texto pero no se me quitaba, lo he dejado asi, no se si valdra, parece que me funciona:

Código:
//Loader 
function cargar(ruta:String)
{

borra();
// 
var loader:Loader =new Loader();
// 
loader.load(new URLRequest(ruta));
loader.contentLoaderInfo.addEventListener(Event.OPEN, abrir);
loader.contentLoaderInfo.addEventListener( Event.COMPLETE, completo );
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progreso);
//; ;
function abrir(event:Event):void {
    txtload.text = "CARGANDO 0%";
}
function completo( event:Event ):void
{


borra();
txtload.text = "";
contenedor.addChild(loader);
activa();

}

function progreso( event:Event ):void
{




var total:Number = event.currentTarget.bytesTotal;
var cargados:Number = event.currentTarget.bytesLoaded;
var porcentaje:Number;
porcentaje=Math.floor((cargados*100)/total);
trace(porcentaje);
txtload.text = "CARGANDO "+Math.round(100*cargados/total)+"%";
}


}
Lo de cargar("partes/principal1.swf");

si me funciona pero tengo una duda, el sonido va a parte? tengo un video y el sonido sigue al entrar en las demas secciones, no se si es porque no se descarga o porque tengo que hacer algo mas con el sonido.

Gracias
  #16 (permalink)  
Antiguo 12/11/2010, 14:01
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años, 5 meses
Puntos: 67
Respuesta: Problema con precarga

Suma SoundMixer.stopAll (); despues de la funcion cargar , en teoria eso debe funcionar.

Cita:
//Loader
function cargar(ruta:String)
{
SoundMixer.stopAll ();
__________________
{ Flash }
  #17 (permalink)  
Antiguo 12/11/2010, 14:08
 
Fecha de Ingreso: octubre-2010
Mensajes: 96
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Problema con precarga

Si se me para, muchas gracias. Eso me afectara a todos los sonidos? Si quisiera poner un reproductor de musica tendria problema supongo no?
  #18 (permalink)  
Antiguo 12/11/2010, 14:20
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años, 5 meses
Puntos: 67
Respuesta: Problema con precarga

Si, en teoria si tendrias problemas.
__________________
{ Flash }
  #19 (permalink)  
Antiguo 12/11/2010, 14:25
 
Fecha de Ingreso: octubre-2010
Mensajes: 96
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Problema con precarga

Y no se puede parar solo un sonido en concreto?
  #20 (permalink)  
Antiguo 12/11/2010, 14:53
 
Fecha de Ingreso: octubre-2010
Mensajes: 96
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Problema con precarga

Se me para al hacer click en un boton pero vuelve a empezar solo...
  #21 (permalink)  
Antiguo 12/11/2010, 15:24
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años, 5 meses
Puntos: 67
Respuesta: Problema con precarga

En lugar de SoundMixer.stopAll ();
escribe
Cita:
MovieClip(loader.content).soundChannel.stop()
soundChannel (es el canal de sonido de tu swf externo)
__________________
{ Flash }
  #22 (permalink)  
Antiguo 12/11/2010, 16:57
 
Fecha de Ingreso: octubre-2010
Mensajes: 96
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Problema con precarga

Si pongo eso no se me cargan los swfs externos. Muchas gracias por tu tiempo y perdona por las molestias que siempre terminan siendo muchas.

Última edición por vanessa_ob; 12/11/2010 a las 17:03
  #23 (permalink)  
Antiguo 12/11/2010, 17:19
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años, 5 meses
Puntos: 67
Respuesta: Problema con precarga

qué error te sale?
__________________
{ Flash }
  #24 (permalink)  
Antiguo 12/11/2010, 17:27
 
Fecha de Ingreso: octubre-2010
Mensajes: 96
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Problema con precarga

No me sale ningun error, simplemente me deja de funciona todo, se me cargan los botones y al hacer click no hace nada, no carga ningun swf. Lo he puesto en el mismo sitio de SoundMixer.stopAll ();
  #25 (permalink)  
Antiguo 12/11/2010, 17:28
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años, 5 meses
Puntos: 67
Respuesta: Problema con precarga

Tienes el fla del archivo que tieene el sonido?, si lo tienes subelo.
__________________
{ Flash }
  #26 (permalink)  
Antiguo 12/11/2010, 17:55
 
Fecha de Ingreso: octubre-2010
Mensajes: 96
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Problema con precarga

Solo con el fla te sirve o todo el archivo completo? tambien es cargado externo al archivo principal
  #27 (permalink)  
Antiguo 12/11/2010, 17:57
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años, 5 meses
Puntos: 67
Respuesta: Problema con precarga

El .fla donde esta el sonido, segun entiendo ese es el swf que cargas primero sin presionar un boton, ese subelo, sino quieres que lo vean envialo en privado.
__________________
{ Flash }
  #28 (permalink)  
Antiguo 12/11/2010, 17:59
 
Fecha de Ingreso: octubre-2010
Mensajes: 96
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Problema con precarga

Si, es un trozo de video con sonido, me acabo de dar cuenta de que el problema quizas es porque el video lo he cargado externo a ese archivo. Ahora lo subo. Gracias
  #29 (permalink)  
Antiguo 12/11/2010, 18:11
 
Fecha de Ingreso: octubre-2010
Mensajes: 96
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Problema con precarga

Te he enviado el archivo + el video en un privado, gracias
  #30 (permalink)  
Antiguo 12/11/2010, 19:00
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 17 años, 5 meses
Puntos: 67
Respuesta: Problema con precarga

Ya no entiendo mucho lo que haces , pero con esto



Cita:
function cargar_b(ruta_b:String)
{

var loader_b:Loader =new Loader();

loader_b.load(new URLRequest(ruta_b));

loader_b.contentLoaderInfo.addEventListener( Event.COMPLETE, completo_b );
loader_b.contentLoaderInfo.addEventListener(Progre ssEvent.PROGRESS,progreso_b);

function completo_b( event:Event ):void
{

addChild(loader_b);

MovieClip(loader_b.content).gotoAndStop(1)
MovieClip(loader_b.content).visible=false



}

function progreso_b( event:Event ):void
{

var total:Number = event.currentTarget.bytesTotal;
var cargados:Number = event.currentTarget.bytesLoaded;
var porcentaje:Number;
porcentaje=Math.floor((cargados*100)/total);
trace(porcentaje);

}


}
cargar_b("partes/video.swf");
haces parar y ocultar video.swf, y con esto:
Cita:
MovieClip(loader_b.content).gotoAndPlay(1)
MovieClip(loader_b.content).visible=true
lo vuelves a reproducir tu ya sabras donde ponerlo.
__________________
{ Flash }

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 15:06.