Siguiendo el tutorial de precargas en AS 3 personalice un poco mi clase
Precarga.as
Código :
package{
//--------------------------------------------------------- LIBRERIAS
import flash.display.*;
import flash.events.*;
public class Precarga extends MovieClip{
//--------------------------------------------------------- PROPIEDADES
private var Porciento:Number;
private var TotalBytes:Number;
private var BytesCargados:Number
//--------------------------------------------------------- EVENTOS
public var alProgreso:Function;
public var alCompletar:Function;
//--------------------------------------------------------- METODOS
private function LoadProgress(evento:ProgressEvent):void{
TotalBytes = evento.bytesTotal;
BytesCargados = evento.bytesLoaded;
Porciento = Math.round((BytesCargados*100)/TotalBytes);
alProgreso.call(this,Porciento,TotalBytes,BytesCargados);
}
private function LoadComplete(evento:Event):void{
alCompletar.call(this);
}
//--------------------------------------------------------- CONSTRUCTOR
function Precarga():void{
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, LoadProgress);
this.loaderInfo.addEventListener(Event.COMPLETE, LoadComplete);
}
}
}
Top.fla
En la pelicula se encuentran solo dos frames, uno con los elementos de la precarga y el otro donde se encuentra un MC con el contenido de la aplicacion.
En el primer fotograma de mi pelicula tengo lo siguiente...
Código :
stop();
import Clima;
var miClima:Clima = new Clima();
var Maxima:Number = 0;
var Minima:Number = 0;
var Tiempo:String = "soleado";
var Tiempo2:String = "";
var Ciudad:String = "Guadalajara";
var CiudadTXT:String = "guadalajara";
// Funciones de la precarga
alProgreso = function(Porciento:Number,Total:Number,Cargados:Number){
Loading_mc.gotoAndStop(Porciento);
Loading_mc.Etiqueta_mc.Porciento_txt.text = String(Porciento) + "%";
}
alCompletar = function(){
miClima.RutaFuente = "clima_ciudad.asp"
miClima.UsarASP = true;
miClima.CodigoCiudad = CiudadTXT;
miClima.ObtenerClima();
}
// funciones para obtener el clima
miClima.ClimaCargado = function(exito:Boolean){
if(exito){
trace("Obteniendo clima");
Maxima = Number(this.TMax);
Minima = Number(this.TMin);
Tiempo = EvaluarTiempo(this.Tiempo);
}else{
trace("Clima no cargado");
}
nextFrame();
}
miClima.Status = function(mensaje:String,esError:Boolean){
trace(mensaje);
}
function EvaluarTiempo(tiempo:String):String{
var frame:String = "";
switch(tiempo){
case "medionublado":
frame = "nublado";
Tiempo2 = "Medio nublado";
break;
case "soleado":
frame = "soleado";
Tiempo2 = "Soleado";
break;
case "ligera":
frame = "ligera";
Tiempo2 = "Lluvia ligera";
break;
case "fuerte":
frame = "fuerte";
Tiempo2 = "Lluvia fuerte";
break;
case "moderado":
frame = "fuerte";
Tiempo2 = "Lluvia moderada";
break;
case "tormenta":
frame = "tormenta";
Tiempo2 = "Tormenta";
break;
default:
frame = "soleado";
Tiempo2 = "Soleado";
}
return frame;
}
Muchas gracias por su atención, espero su respuesta, hasta luego!!
