Comunidad de diseño web y desarrollo en internet online

abrir swf sin que esperar llegar al 100%

Citar            
MensajeEscrito el 20 Ago 2007 04:38 pm
Hola amigos, resulta que estoy usando el componente MovieClipLoader, para cargar mis peliculas, pero resulta que unas que estoy haciendo son muy pesadas y para que llegue al 100%, es algo largo.

Mi duda es la siguiente.
Es posible abrir la pelicula swf sin esperar a que llegue al 100% de carga, iniciarla cuando lleve por ahi el 40% ? osea no esperar a que se ejecute "onLoadComplete", ya que como es larga, en le trascurso de la visualizacion de esta, se puede ir cargando lo que falta.


Muchas gracias

Por vicman

46 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Ago 2007 07:00 pm
A ver... el swf es un formato streamable lo que quiere decir que se puede reproducir sin necesidad de que se haya cargado (así es como ves los preloaders, por ejemplo) igual que un video de youtube. El problema es que solo pasa al fotograma siguiente si ha cargado el anterior, y en el fotograma 1 están todos los símbolos a los que pusiste "exportar al primer fotograma". Así que, para hacer eso que dices, tendrías que hacer los primeros fotogramas lo más ligeros posible.
Saludos.

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 21 Ago 2007 06:13 pm
este es el codigo, pero no hace como hacer para que se dispare el evento de reproducir la pelicula cuando lleve un porcentaje determinado de carga.

Nota: el swf lo cargo dentro de un contenedor

Código :

var precargador_mcl:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
//var barra_mc:MovieClip;
var maximacarga:Number;
maximacarga = 60; //maximo porcentaje a donde se desea dejar cargar
//Esto escondera el menu del click derecho
Stage.showMenu=false;

//CREADOR DEL LISTENER
//Las funciones de los MovieClips son tres esenciales;
/*    onLoadStart (Ejecutada cuando inicia la precarga)
      onLoadProgress (Ejecutada cada vez que avanza la descarga)
     onLoadComplete (Ejecutada cuando la precarga termina)
*/

//Función onLoadStart, asignada al objeto Listener que luego agregaremos a
//nuestro MovieClipLoader El parametro "target_mc" es una referencia al 
//MovieClip de destino
listener.onLoadStart = function(target_mc) {
   trace("Iniciando");
   mc_loaded = false;
   _root.barra_mc.removeMovieClip();
   //ya existe la barra en el escenario
   if(_root.barra_mc )
   {
      trace('existe');
      _root.barra_mc._visible = true;
   }
   else
   {
      trace('No existe');
      _root.attachMovie("barra_mc", "barra_mc", _root.getNextHighestDepth());
   }
   //Colocamos la barra de precarga en el escenario con el nombre "barra_mc"
   
   //_root.attachMovie("barra", "barra_mc", 0);
   //Ubicamos la barra en la mitad del escenario
   
   _root.barra_mc._y = Stage.height/2;
   _root.barra_mc._x = Stage.width/2;
   //Y nuestra barra esta lista para moverse en el evento onLoadProgress
};

//Función onLoadProgress, es la función clave, tiene tres parametros
//target_mc, quees igual que el anterior, loadedBytes, que nos dice la 
//cantidad de bytes cargados y totalBytes que nos dice la cantidad total
//de bytes de la pelicula en proceso de descarga
listener.onLoadProgress = function(target_mc, loadedBytes, totalBytes) {
   //trace("En progreso");
   //Declaramos la variable de calculo de porcentaje
   var porcentaje:Number;
   //Calculamos el porcentaje con las variables que le llegan por parametro a la función
   porcentaje = Math.round((loadedBytes*100)/totalBytes);
   trace(porcentaje + " > " + maximacarga);
   if (porcentaje >= maximacarga)
   {
      
      trace("mayor ");
      
      
   }
   //Vamos al frame del porcentaje en nuestra barra de carga
   _root.barra_mc.gotoAndStop(porcentaje);
   _root.barra_mc.porcentaje.text = porcentaje ;
   //Ahora escondemos el objeto de la precarga y lo frenamos
   target_mc._visible=false;
   target_mc.stop();
};

//Función onLoadComplete
listener.onLoadComplete = function(target_mc) {
   trace("ya");
   //Como ya cargo completo, entonces quitamos la barra
   _root.barra_mc.removeMovieClip();
   _root.barra_mc._visible = false;
   //Y mostramos el objeto
   target_mc._visible=true;
   target_mc.play();
};

//ASIGNACIÓN DEL LISTENER AL MOVIECLIPLOADER
//Ahora, todas las funciones que declaramos seran asignadas a
//nuestro MovieClipLoader "precargador_mcl"
precargador_mcl.addListener(listener);


como ves, tengo esta comparacion
if (porcentaje >= maximacarga)
{

trace("mayor ");

}[/code]

El rollo del asunto es que lo estoy llamdo desde un swf contenedor, osea un swf que llama otro swf, asi que en el contenedor no hay como se diria un label que se llama" empieza".

nota, asi es como llamo el swf a cargar

Código :

precargador_mcl.loadClip( "archivo.swf", conte);


donde "conte", es el MC donde va cargar el swf.

No se si me hice entender.

Gracias

Por vicman

46 de clabLevel



 

firefox

 

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