Precarga OOP y dinamica por medio de switch - Foro Creativo

Ir a contenido

Página 1 de 1
  • No puedes empezar un nuevo tema
  • No puedes responder a este tema

Precarga OOP y dinamica por medio de switch Complementto del juego de Adivina el script :P

#1 El usuario está offline   kitsch

  • Ni un pelo de tonto, ni de los otros
  • Icono
  • Grupo: Pro
  • Mensajes: 3688
  • Registrado: 15-julio 04
  • Location:Guadajalajara, México
  • Sexo:Masculino
  • País:Mexico
  • Navegador:FireFox
  • Camara:Canon Mark II

Escrito 13 septiembre 2006 - 01:39

Alguien me preguntaba hace no mucho que ventajas tendría el ActionScript 3.0 sobre el ActionScript 2.0, le explicaba las ventajas y me pregunto inocentemente que si ahora si, ActionScript seria un lenguje orientado a objetos!!! Me senti un poco ofendido, pues soy de los principales defensores del flash y su lenguaje de scripts... Despues de un rato, me comentaba que con flash ni siquiera eran posibles hacer una simple precarga dinamica de multiple interpreatacion que respetara clases y actuara de forma bifucarda y antes de entrar en el show de lo que vendra con el AS 3 (que proximamente traere unos tutos sobre ello), desidi hacer un tutorial demostrando lo contrario (bueno una estraccion del codigo que estoy usando para la web de mi amigocha Nike) y aqui se los dejo.

CÓDIGO
function g() { //declaramos la funcion en el primer fotograma
    var total:Number, cargados:Number, porcentaje:Number;
    //por buena constumbre declaras todas las variables a usar
    //nota: las variables simples
    //estas lineas ya las he explicado antes
    total = _root.getBytesTotal();
    cargados = _root.getBytesLoaded();
    porcentaje = Math.floor((cargados*100)/total);
    porcentaje_txt.text = porcentaje+" %";
    barra_mc.gotoAndStop(porcentaje);
    if (cargados == total) {
        carga_txt.text = "Ejecutando programa";
        clearInterval(hiloPrecarga);
        play();
    //Hasta esta linea es un cargador comun y popular
    }
    //Creamos un bucle condicional switch que es la estructura de nuestra
    //precarga interactiva
    switch (porcentaje) { //cuando porcentaje sea igual a
    case 10 ://igual a 10, cree un texto en la varible dinamica carga_txt
        carga_txt.text = "Iniciando descarga";
        break;
    case 20 : //igual a 20
        var images:Object; //variable imagenes, se declara "object" por ser
        //una clase independiente
        load.AllPictures(nodeClass1); //clase Pictures(), hereda muchas propiedades
        //de la clase MovieClip() e images() de AdobeLabd();
        carga_txt.text = "Descargado imagenes";//escriba un texto
        break;
    case 30 : //igual a 30
        function cargarXML() {//Creamos una funcion
            var obj_xml:XML;
            //Invoca a la función "load" del objeto XML
            //para cargar nuestro contenido XML
            obj_xml.load("xmlMain.xml");//cargamos nuestro archivo XML
        }
        carga_txt.text = "Descargando XML";//escrimos un texto que vera el usuario
    case 40 :
        var actions:Object; //al igual que en un caso anterior, creamos una variable de objetos
        actions.load("clasesMain.as");//El objeto se define y carga en el archivo clasesMain.as
        carga_txt.text = "Cargando scripts";//escriba un texto
        break;
    case 50 :
        onload(allXML).tradutorXML(parent, GET, SQLReference);
        //una vez cargados los archivos de clases y los XML firmados en xmlMain.xml
        //ejecutamos la funcion "traductorXML con la propiedades y aplicaciones
        //que se definen en una ruta de parent, con un metodo GET y con la referencia
        //firmada en SQLReference de AdobeLabs.
        traductorXML.read(allXML_Class);
        //read es una funcion heredada del archivo xmlRespuestas.as, indicado en el archivo
        //clasesMain.as; el cual interpretara todas las estructuras conocidas y definidas
        //de todos los archivos XML
        carga_txt.text = "Leyendo XML";//escriba un texto
        break;
    case 60 :
        traductorXML.text(allClassLoaded);
        //Imprimira en el documento de salida (muy similara a echo en PHP) el resultado
        //del proceso de traduccion de los XML y sus subyegados y adyacentes
        carga_txt.text = "Ejecutando XML";//escriba un texto
        break;
    case 70 :
        playerType = true; //una mini funcion definida en otro archivo de clases
        carga_txt.text = "Detectanto resolucion"; //escriba un texto
        break;
    case 80 :
        run(SubClass.execSubProgram[ASPentries&SQL_Querys]);
        //run como en casos anteriores ejecutara lo que se conoce como subprograma
        //que finalmente no lo es, pero se interpreta como tal, pues es una conjugacion
        //de varios elementos y clases que se ejecutaran basados en ciertas instrucciones
        //muy similar a cualquier exe de win
        carga_txt.text = "Iniciando sub programa"; //escriba un texto
        break;
    case 90 :
        carga_txt.text = "Terminando pre carga"; //escriba un texto
        break;
    }
    _root.total_txt.text = total; //escribe el total del peso del SWF
    _root.cargados_txt.text = _root.getBytesLoaded(); //escribe lo cargado hasta el momento
}
var hiloPrecarga = setInterval(g, 1);
stop();


Editado: Gracias Sapinto por la observacion; un error de dedo tongue.gif

El script es muy "rudo" y desde luego hacen falta las clases que mensiono y las consultas que solicito, pero no es importante, el caso es mostrar que se pueden crear multiples aplicaciones con flash al igual que con cualquier programa. Finalmente este no es un tutorial, si no un ejemplo de uso.

Dudas y comentarios aqui mismo biggrin.gif Me interesa saber que piensan los usuarios
0


Página 1 de 1
  • No puedes empezar un nuevo tema
  • No puedes responder a este tema

Otras respuestas a este tema

#2 El usuario está offline   elQuique

  • Dibujante de Codigos
  • PipPipPipPipPipPip
  • Grupo: Admin Team
  • Mensajes: 21239
  • Registrado: 08-febrero 03
  • Location:Florida, Uruguay
  • Sexo:Masculino
  • País:Uruguay
  • Navegador:FireFox
  • Camara:Kodak/v1003

Escrito 13 septiembre 2006 - 03:20

Muy bueno kitsch smile.gif
0

#3 El usuario está offline   SAPINTO

  • FC
  • PipPipPip
  • Grupo: Miembros
  • Mensajes: 637
  • Registrado: 13-mayo 06
  • Location:another fucked up place
  • Sexo:Masculino
  • País:Stkitts nevis
  • Navegador:FireFox

Escrito 13 septiembre 2006 - 03:43

buenisimo kitsch, esta bien explicado y de seguro le sacaremos provecho 26_1_121vale.gif
Imagen IPB
0

#4 El usuario está offline   SAPINTO

  • FC
  • PipPipPip
  • Grupo: Miembros
  • Mensajes: 637
  • Registrado: 13-mayo 06
  • Location:another fucked up place
  • Sexo:Masculino
  • País:Stkitts nevis
  • Navegador:FireFox

Escrito 13 septiembre 2006 - 08:15

hay un error kitsch, el setInterval(cargando, 1);

definiste la funcion como g, entonces deberia ser, en la primera linea:

CÓDIGO

function cargando() { //declaramos la funcion en el primer fotograma


o bien en la última:
CÓDIGO

var hiloPrecarga = setInterval(g, 1);
stop();

Imagen IPB
0

Página 1 de 1
  • No puedes empezar un nuevo tema
  • No puedes responder a este tema


Sitios Amigos: Tutoriales gratis | Foro de Webmasters | Foros de ComunidadHosting