Es usual ver en los foros dedicados a Flash preguntas de este tipo: Como cargo un SWF ???, Como hago una precarga ???, Ayudaaaaaaa, etc.

Pues como una forma de simplicar el asunto, pongo a disposicion de quienes lo necesite este codigo. Su desempeño es perfecto (lo hice yo, es logico que lo sea) y hace dos trabajos en uno. Crea una barra de precarga al que podemos configurar sus colores para adaptarlo al diseño del sitio o animacion, como tambien calcular el procentaje cargado del mismo para entonces iniciar la animacion.

Solo pondre aqui el codigo completo, pero dentro del FLA ejemplo encontraran comentarios detallados de como trabaja cada cosa. Espero les guste y funcione.

CODIGO FUENTE DE LA FUNCION:


MovieClip.prototype.insertBarLoad = function(barColor:Number, barAncho:Number, barAlto:Number, bordeColor:Number, bordeAncho:Number) {

	MovieClip.prototype.crearObj = function(objColor:Number, objAncho:Number, objAlto:Number) {
		with (this) {
			beginFill(objColor);
			moveTo(0, 0);
			lineTo(objAncho, 0);
			lineTo(objAncho, objAlto);
			lineTo(0, objAlto);
			lineTo(0, 0);
			endFill();
		}
	};

	var bordeBlanco:MovieClip = this.createEmptyMovieClip("fondoBar", this.getNextHighestDepth());
	bordeBlanco.crearObj(bordeColor, barAncho + bordeAncho, barAlto + bordeAncho);

	var barLoaded:MovieClip = this.createEmptyMovieClip("barLoaded", this.getNextHighestDepth());
	barLoaded.crearObj(barColor, barAncho, barAlto);
	barLoaded._x = barLoaded._y = bordeAncho / 2;
};

var barraRoot:MovieClip = _root.createEmptyMovieClip("barraRoot", _root.getNextHighestDepth());
with (barraRoot) {
	insertBarLoad(0xffffff, 60, 2, 0x93938F, 3.5);
	_x = (Stage.width / 2) - (_width / 2);
	_y = (Stage.height / 2) - (_height / 2);
	barLoaded._xscale = 0;
}

onEnterFrame = function () {
	var introLoad:Number = Math.floor(getBytesLoaded() / getBytesTotal() * 100);
	barraRoot.barLoaded._xscale = introLoad;
	if (introLoad >= 100) {
		delete this.onEnterFrame;
		barraRoot.removeMovieClip();
		play();
	}
};

Si tienen preguntas adicionales, primero vean el FLA adjunto.

- Descargar FLA
- Ver el ejemplo

Blogalaxia Tags , , , ,
Technorati Tags , , , ,