Soy novato en Flash8. Tengo varias metas que deseo aprender (precargas, libro de comentarios, diseño de submenus), pero la que mas me interesa debido a una web, es la carga de peliculas, ni siquiera sonidos quiero usar.
Para ello, copie una rutina que ustedes pusieron para hacer una precarga simple. A esta le agregue, algo de mi "cosecha" para ver
como cargar mi pelicula swf, pero no he podido hacer que se coordine el Nro.del porcentaje en relacion a mi pelicula.
Dejo claro, que mis pruebas las he realizado desde mi pc, ya que no cuento con internet en mi casa y debo ir a un local para hacer mis pruebas. En mi pc, he puesto en el momento de la ejecución SIMULAR DESCARGA con la velocidad de un modem/fam 56k. La
Pelicula que deseo cargar externamente tiene casi 1 mega de tamaño. Se ve muy bonita pero pesa demasiado.
Mi pelicula de prueba tiene 750x350 pixeles y posee 2 capas :
acciones
fondo
En "acciones", tengo puesto el codigo de ustedes, mas lo que yo le agregue.
En "fondo", tengo 3 cosas. En el extremo superior izquierdo, coloque en texto estatico "Cargando Pelicula" y al lado
en texto dinamico "porcentaje_txt" como nombre de instancia, nombre usado por ustedes en su código. Y abajo, tengo
un recuadro del tamaño de la pelicula QUE DESEO CARGAR, se llama "cuadro". Del codigo que ustedes pusieron, NO USE
la barra de progreso, solamente me interesa ver que el porcentaje vaya aumentando.
Al grano, ........ aca les pongo el codigo que ustedes colocaron y despues está lo que yo agregue.
Código ActionScript :
/* Declaro la función de precarga "cargando", esta función se ejecutara
todo el tiempo hasta que haya cargado totalmente la pelicula */
function cargando() {
// Declaración de variables
var total, cargados, porcentaje;
// A la variable "total" se le asigna el tamaño de la pelicula en bytes
total = _root.getBytesTotal();
// A la variable "cargados" se le asignan el total de bytes hasta el
//momento descargados de la web
cargados = _root.getBytesLoaded();
//Por medio de una regla de tres obtiene el porcentaje cargado y redondea el valor con la función
//"Math.floor"
porcentaje = Math.floor((cargados*100)/total);
//Asigna al campo de texto porcentaje_txt el porcentaje cargado
porcentaje_txt.text = porcentaje + " %";
//Mueve la barra de carga al frame correspondiente al porcentaje
barra_mc.gotoAndStop(porcentaje);
//Si la cantidad de bytes cargados es igual a la cantidad total de bytes
if (cargados == total) {
//Hacer que se deje de ejeuctar esta función
clearInterval(hiloPrecarga);
//Iniciar la pelicula
play();
}
}
// setInterval nos servira para que la función "cargando" se ejecute cada 1 milisegundo
// Asi, nuestra función revisara constantemente la cantidad de bytes descargados
// y solo iniciara la pelicula hasta que la descarga termine
// la variable "hiloPrecarga" nos servira para saber que esta corriendo nuestra función
// y frenar su ejecución cada milisegundo por medio de "clearInterval"
var hiloPrecarga = setInterval(cargando, 1);
//Evita que inicie la pelicula
stop();ACA VA MI CODIGO......
Código ActionScript :
cargando();
/* Declaro la función de precarga "cargando", esta función se ejecutara
todo el tiempo hasta que haya cargado totalmente la pelicula */
function cargando() {
_root.cuadro.loadMovie("file:///d:/sitios/ellnew2010/ell_alquiler.swf");
_root.cuadro._alpha = 0;
// Declaración de variables
var total, cargados, porcentaje;
// A la variable "total" se le asigna el tamaño de la pelicula en bytes
total = _root.cuadro.getBytesTotal();
// A la variable "cargados" se le asignan el total de bytes hasta el
//momento descargados de la web
cargados = _root.cuadro.getBytesLoaded();
//Por medio de una regla de tres obtiene el porcentaje cargado y redondea el valor con la función
//"Math.floor"
porcentaje = Math.floor((cargados*100)/total);
//Asigna al campo de texto porcentaje_txt el porcentaje cargado
porcentaje_txt.text = porcentaje + " %";
//Mueve la barra de carga al frame correspondiente al porcentaje
// barra_mc.gotoAndStop(porcentaje);
//Si la cantidad de bytes cargados es igual a la cantidad total de bytes
if (cargados == total) {
//Hacer que se deje de ejeuctar esta función
clearInterval(hiloPrecarga);
//Iniciar la pelicula
_root.cuadro._alpha = 50;
// cuadro.play();
}
}
// setInterval nos servira para que la función "cargando" se ejecute cada 1 milisegundo
// Asi, nuestra función revisara constantemente la cantidad de bytes descargados
// y solo iniciara la pelicula hasta que la descarga termine
// la variable "hiloPrecarga" nos servira para saber que esta corriendo nuestra función
// y frenar su ejecución cada milisegundo por medio de "clearInterval"
var hiloPrecarga = setInterval(cargando, 1);
//Evita que inicie la pelicula
_root.cuadro.stop();
Estuve viendo en el Help de Flash8, la funcion "MovieClipLoader", pero tope con que segun lo que dice el Help, no se deben hacer
pruebas en forma local, por lo tanto ¿ que puedo hacer, desde mi pc, para probar dicha función ?
Sorry por este testamento, pero queria que me entendieran lo mejor posible.
Muchas gracias.
