Comunidad de diseño web y desarrollo en internet online

Precargadores.

Citar            
MensajeEscrito el 11 Dic 2008 05:46 pm
Chicos tengo el siguiente problema y sin resolución.

He leido varios articulos de Flash precargadores y he bajado ejemplos.
Ninguno cubre lo que necesito. Si alguien puede darme una mano lo agradecería.

Tengo armado tres swf (default.swf - 9kb, intro.swf - 25kb y principal.swf - 1,174kb)

default.swf tiene dos frames, en uno llama a la intro.swf y en el segundo principal.swf
Anda todo joya hasta que lo cuelgo al servidor que tenemos en la empresa para desarrollar.

Cuando se ejecuta la llamada al principal.swf (el mas grande de todos) a medida que va cargando me aparece sin
haber terminado de cargar la imagen de "principal" permitiendo ingresar al swf sin haber terminado de cargar.
Lo peor de todo que una vez que termina de cargar todo el swf hace realiza el efecto de fade que le indico.

Les paso el codigo que estoy utilizando para ver si hay alguien que me pueda dar una mano.
Desde ya muchas gracias.

Codigo A.S.

//carpeta donde guardamos nuestros elementos a cargar
//var almacen:String = "elementos/";
var almacen:String = "";
//ancho de nuestra película en flash
var ancho:Number = Stage.width;
//alto de nuestra película
var alto:Number = Stage.height;
//creamos un contenedor donde se cargaran los files externos
//tambien puedes crear manualmente un pequeño movie clip donde va a ir el contenido le quevantemos
this.createEmptyMovieClip("contenedor_mc", 20);
//aquí creamos una transición para nuestras pelis para cuando se carguen tengan
//un efectito de Fade
//importamos los elementos necesarios para este efecto
import mx.transitions.*;
import mx.transitions.easing.*;
//creamos una función y le pasamos como parámetro que película debe ser afectada por el efecto
function fade(peli) {
TransitionManager.start(peli, {type:Fade, direction:Transition.IN, duration:1, easing:None.easeNone});
}
//creamos una nueva película que será un marco alrededor de la que carguemos
this.createEmptyMovieClip("marco_mc", 10);
//creamos una función para que pinte cada película que carguemos
function pintarMarco(target_mc:MovieClip, largoMarco:Number, altoMarco:Number) {
//el espesor del marco
var anchorMarco:Number = 10;
//el color del marco
//var colorBorde = 0x00CCFF;
//la transparencia del marco
var transparenciaBorde = 100;
//y aplicamos los cambios
//uso "with" para no tener que escribir el nombre de instancia de nuevo
with (target_mc) {
beginFill(colorBorde, transparenciaBorde);
moveTo(0, 0);
lineTo(10, 0);
lineTo(10, 10);
lineTo(0, 10);
lineTo(0, 0);
endFill();
_width = largoMarco+anchorMarco;
_height = altoMarco+anchorMarco;
_x = contenedor_mc._x-(anchorMarco/3);
_y = contenedor_mc._y-(anchorMarco/3);
}
}
//creamos un nuevo elemento MovieClipLoader que es el encargado de controlar y cargar nuestras pelis
var mcLoader:MovieClipLoader = new MovieClipLoader();
//creamos un escuchador con el cual sabremos que esta pasando en cada proceso
var escuchar:Object = new Object();
//si se inicia y mientras este cargándose...
escuchar.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
//creamos lo necesario para averiguar el porcentaje de carga
var persoTotal = bytesTotal;
var cargados = bytesLoaded;
var porcentaje = Math.round(cargados*100/persoTotal);
//movemos la barra al porcentaje cargado
barraPorcentaje_mc.gotoAndStop(porcentaje);
//escribimos el porcentaje en modo texto en la barrita de carga
barraPorcentaje_mc.cargado_txt.text = porcentaje+"%";
};
//con esta función podemos asignarle propiedades antes de que se muestre
escuchar.onLoadInit = function(target:MovieClip) {
//posicionamos el elemento que s esta cargando al centro, ustedes colóquenlo donde lo necesiten
target._x = (ancho/2)-(target._width/2);
target._y = (alto/2)-(target._height/2);
//mostramos el marco
marco_mc._visible = true;
//pintamos y acomodamos el marco
pintarMarco(marco_mc, target._width, target._height);
//aplicamos el efecto fade
fade(target);
//como pueden ver "target" es la peli afectada
};
//si la carga comenzó
escuchar.onLoadStart = function(target:MovieClip) {
marco_mc._visible = false;
barraPorcentaje_mc._visible = true;
};
//si la carga finalizo
escuchar.onLoadComplete = function(target:MovieClip, httpStatus:Number) {
barraPorcentaje_mc._visible = false;
};
//
mcLoader.addListener(escuchar);
//ACCIONES SIMPLES BOTONES
//cargarJpg_btn.onRelease = function() {
//en este caso llamamos a un jpg y el destino es "contenedor_mc"
//como contenedor_mc tiene un escuchador activara automáticamente todo lo que vimos arriba
// mcLoader.loadClip(almacen+"1.jpg", contenedor_mc);
//esto es por si nuestro efecto fade se descontrola
// contenedor_mc._alpha = 100;};

//cargarPng_btn.onRelease = function() {
//en este caso llamamos a un png y el destino es "contenedor_mc"
//como contenedor_mc tiene un escuchador activara automáticamente todo lo que vimos arriba
// mcLoader.loadClip(almacen+"1.png", contenedor_mc);
//esto es por si nuestro efecto fade se descontrola
// contenedor_mc._alpha = 100;};

//cargarSwf_btn.onRelease = function() {
//en este caso llamamos a un swf y el destino es "contenedor_mc"
//como contenedor_mc tiene un escuchador activara automáticamente todo lo que vimos arriba
mcLoader.loadClip(almacen+"principal.swf", contenedor_mc);
//esto es por si nuestro efecto fade se descontrola
contenedor_mc._alpha = 100;
//};

Por winchester2012

6 de clabLevel



 

msie
Citar            
MensajeEscrito el 11 Dic 2008 08:59 pm
Tienes que poner la precarga en un primer frame con un stop donde solo tengas el precargador, luego en el frame 2 en adelante el contenido de tu peli ¿No lo dicen los tutoriales? Que extraño

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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