1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

Introduccion al Lenguaje ActionScript II parte

Tema en 'Tutoriales Desarrollo Web' iniciado por kitsch, 28 Jun 2006.

  1. kitsch

    kitsch Nuevo usuario

    En todos los lenguajes de programación, un parte vital para el funcionamiento de nuestros programas, es sin duda alguna los condicionales y los bucles. Por medio de estos es posible controlar los eventos de interacción con el usuario y permite planificar que reacción tendrá el programa a determinada acción del usuario.

    En Flash como en casi todos los lenguajes basados o derivados de C; los condicionales, sentencias y bucles trabajan por un comportamiento booleano, es decir, por un proceso lógico basado en “VERDADERO” Y “FALSO”.

    Cuando una condición se cumple el programa interpreta la acción como verdadero y de igual forma falso si no se cumple la condición especificada.

    En ActionScript 2.0 son 4 los condicionales básicos y son:<ul><li>if</li><li>if.. else</li><li>if... else.. if ; y</li><li>switch</li></ul>Además de estos existe otro que es “try..catch..finally”, pero por ahora no entraremos en detalle con este pues un tanto mas complejo que los antes enlistados y que a continuación explicare como funcionan.

    La estructura general de las condicionales es muy simple y basta con decirle al programa, que es lo que debe de hacer en caso de que suceda “x” evento.

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->if (condicion) {
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sentencia
    };
    <!--c2--></div><!--ec2-->
    <b>Sentencia if</b>

    La sentencia if es la mas “básica” de las condicionales y se basa en el simple hecho de “si pasa esto, reacciona con esto”. La sintaxis es simple, se declara la sentencia y entre paréntesis y entre llaves la acción a realizar si es que se cumple la condición.

    Para comprender mejor su funcionamiento, anexo una ligera practica en la cual le diremos al programa que cuente los clics que hagamos a un botón.

    <u>Practica 1</u>

    1.- Creamos un nuevo documento de 200x150 píxeles

    2.- Creamos un botón y lo nombramos “botón”

    3.- Creamos un cuadro de texto dinámico vació y le asignamos el nombre de instancia de: “texto”

    4.- Presionamos F9 para entrar al panel de ActionScript
    5.- En el fotograma 1 insertamos el siguiente script:

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->var clics:Number = 0;<!--c2--></div><!--ec2-->

    6.- Ahora seleccionamos el botón y le agregamos el siguiente script:

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->on (press) {
    &nbsp;&nbsp;&nbsp;&nbsp;clics += 1; //Incrementamos en 1 al presionar
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_root.texto.text = "1 clic";
    &nbsp;&nbsp;&nbsp;&nbsp;if (clics >> 1) { //iniciamos la sentencia
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_root.texto.text = clics+" clics.";
    &nbsp;&nbsp;&nbsp;&nbsp;}
    }
    <!--c2--></div><!--ec2-->

    Ejemplo:
    <!--Flash 200+150+http://www.javiernavarro.be/ejemplos/clics.swf--><OBJECT CLASSID='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' WIDTH=200 HEIGHT=150><PARAM NAME=MOVIE VALUE=http://www.javiernavarro.be/ejemplos/clics.swf><PARAM NAME=PLAY VALUE=TRUE><PARAM NAME=LOOP VALUE=TRUE><PARAM NAME=QUALITY VALUE=HIGH><EMBED SRC=http://www.javiernavarro.be/ejemplos/clics.swf WIDTH=200 HEIGHT=150 PLAY=TRUE LOOP=TRUE QUALITY=HIGH></EMBED></OBJECT><!--End Flash-->
    <a href="http://www.javiernavarro.be/ejemplos/clics.fla" target="_blank">Descarga el archivo de la práctica</a>.

    En la anterior práctica lo que hicimos fue hacer un rápido conteo de clics del ratón, para hacerlo creamos en el nivel 0 de la película la variable “clics” la cual tiene propiedad de “Number” y un valor inicial de 0.

    Un detalle de la clase botón, es que los botones también son condicionales, reaccionan por el controlador “on” y la condición es el suceso del ratón, (release, prees, rolloOut, rollOver, etc.) y la acción se define entre llaves.

    Bien en el código de nuestro botón, llamamos a la variable global “clics” y utilización un operador de incremento, con esto le decimos al flash que cada que se presione el botón, incremente el valor de la variable “clics” en uno.

    Después utilizamos una sentencia if en la cual le decimos al programa que si “clics” es mayor a uno; en la variable “texto” (el cuadro de texto dinámico que creamos) escriba el valor actual de “clics” más el texto “ clics.”

    <b>If.. else</b>

    Este condicional en realidad solo es un complemento del básico if; la función principal de este condicional es al igual que if, si se cumple una condición ejecute cierta acción, pero además si no se cumple que realice otra.

    La estructura seria la siguiente:

    if (condicion) {
    accion
    } else {
    accion
    }

    Como se puede apreciar la sintaxis es exactamente la misma de la condición if, salvo el detalle que agregamos un condición “else”, esta determinara que acción se producirá si el resultado de la condición es “FALSE” o bien si resulta “TRUE" ejecutara la primera opción.

    Ejemplo:
    <!--Flash 250+150+http://www.javiernavarro.be/ejemplos/clics2.swf--><OBJECT CLASSID='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' WIDTH=250 HEIGHT=150><PARAM NAME=MOVIE VALUE=http://www.javiernavarro.be/ejemplos/clics2.swf><PARAM NAME=PLAY VALUE=TRUE><PARAM NAME=LOOP VALUE=TRUE><PARAM NAME=QUALITY VALUE=HIGH><EMBED SRC=http://www.javiernavarro.be/ejemplos/clics2.swf WIDTH=250 HEIGHT=150 PLAY=TRUE LOOP=TRUE QUALITY=HIGH></EMBED></OBJECT><!--End Flash-->
    <a href="http://www.javiernavarro.be/ejemplos/clics2.fla" target="_blank">Descargar Archivo</a>

    En este ejemplo al igual que el anterior, hicimos un contador de clics, solo que en este caso, en vez de mostrarnos cuantos clics se han dado, al llegar al clic 6 la barra negra, cambiara su opacidad.

    Al igual que ejemplo anterior cree una variable global

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->var clics:Number = 0;<!--c2--></div><!--ec2-->

    Le agregue el siguiente código:

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->on (press) {
    &nbsp;&nbsp;&nbsp;&nbsp;clics += 1;
    &nbsp;&nbsp;&nbsp;&nbsp;if (clics<=5) {
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_root.barra._alpha = 100;
    &nbsp;&nbsp;&nbsp;&nbsp;}else {
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_root.barra._alpha = 20;
    &nbsp;&nbsp;&nbsp;&nbsp;}
    }<!--c2--></div><!--ec2-->

    En este script escribimos la siguiente condicional, si se presiona el botón que incremente en uno el valor de la variable “clics”, después especificación con la condición if que si el valor de “clics” es menor a 5, entonces la propiedad del movieclip barra se mantenga en 100; ahora que si esta condición de clics es menor a 5 no se cumple, entonces “else” define que el movieclip barra tenga una opacidad de 20.

    <b>if.. else.. if</b>

    Además de agregar una condición “else”, podemos también en flash con este condicional, agregar varias condiciones a evaluar y todas se evaluaran de forma separada, si devuelven “TRUE" se ejecuta la acción especificada, mientras devuelva “FALSE” se ejecutara el resultado de else.

    La estructura sería así:

    if (condicion){
    sentencia
    } else if (condicion2){
    sentencia
    } else {
    sentencia
    }

    Para entender mejor este modo condicional, utilizaremos nuestro archivo “clics3.fla” y lo modificaremos un poco, agregando otro cuadro de texto dinámico y asignándole el nombre de instancia de “num” y modificando un poco el código del botón, quedando de la siguiente manera:

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->on (press) {
    &nbsp;&nbsp;&nbsp;&nbsp;clics += 1;
    &nbsp;&nbsp;&nbsp;&nbsp;_root.num.text = clics;
    &nbsp;&nbsp;&nbsp;&nbsp;//escribe el numero de clics
    &nbsp;&nbsp;&nbsp;&nbsp;if (clics==5) {
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_root.barra._alpha = 100;
    &nbsp;&nbsp;&nbsp;&nbsp;}else if (clics==6){
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_root.barra._alpha = 60;
    &nbsp;&nbsp;&nbsp;&nbsp;}else if (clics==10){
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_root.barra._alpha = 20;
    &nbsp;&nbsp;&nbsp;&nbsp;}else {
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_root.barra._alpha = 0;
    &nbsp;&nbsp;&nbsp;&nbsp;}
    }<!--c2--></div><!--ec2-->

    En el anterior script le decimos al programa que cuando se presione el botón, incremente en uno la variable “clics”, en la segunda instrucción le decimos que nos escriba el valor de “clics” en el cuadro de texto “num”.

    En la tercera instrucción es donde colocamos nuestro condicional, el cual dice que si “clics” tiene un valor de 5 entonces al MC “barra” le asigne una opacidad de 100; si no es igual a 5 pero es igual 6, entonces el MC “barra” tendrá una opacidad de 60; si esto no se cumple pero “clics” tiene un valor de 10, entonces en la segunda condición asignamos que MC barra tenga una opacidad de 20; si ninguna de las condiciones se cumple, entonces el MC “barra” tendrá una opacidad de 0.

    Ejemplo
    <!--Flash 250+150+http://www.javiernavarro.be/ejemplos/clics3.swf--><OBJECT CLASSID='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' WIDTH=250 HEIGHT=150><PARAM NAME=MOVIE VALUE=http://www.javiernavarro.be/ejemplos/clics3.swf><PARAM NAME=PLAY VALUE=TRUE><PARAM NAME=LOOP VALUE=TRUE><PARAM NAME=QUALITY VALUE=HIGH><EMBED SRC=http://www.javiernavarro.be/ejemplos/clics3.swf WIDTH=250 HEIGHT=150 PLAY=TRUE LOOP=TRUE QUALITY=HIGH></EMBED></OBJECT><!--End Flash-->
    <a href="http://www.javiernavarro.be/ejemplos/clics3.fla" target="_blank">Descargar Archivo</a>

    <b>switch</b>

    El condicional switch funciona de forma muy similar a <i>“if… else… if…”</i> solo que este permite crear tantas condiciones necesitemos de manera ramificada y con un mayor control en la estructura, personalmente yo recomiendo mas el uso de switch en lugar <i>“if… else… if…”</i> simplemente por la organización y simplificación del código, aunque no lo haría para evaluar datos específicos pues no devuelve acción si se recibe “FALSE”.

    Al igual que con las sentencias “<i>if</i>” switch evalúa una condición y ejecuta una acción determinada, si esta condición devuelve “TRUE".

    switch además requiere de algunos operadores más para funcionar correctamente, los cuales son: “case”. “break” y “default”, y son estos los que permiten crear una estructura organizada.

    Una estructura switch sería así:

    switch (condicion) {
    case 1:
    sentencia;
    break;
    case 2:
    sentencia
    break;
    default:
    sentencia:
    }

    La sintaxis siempre comienza con un “switch” y la condición a evaluar; después el operador “case” evaluara un valor determinado como condición; “break” le dice al flash que corte o rompa la sentencia ejecutada si es que la siguiente condición se cumple.

    <i>Nota: Si se omite “break” se ejecutaran por ejemplo las sentencias 1 y 2 simultáneamente.
    </i>
    Otro operador a tener en cuenta es “default”, que es la sentencia predeterminada a ejecutarse. El caso default siempre debe ser el último caso de una sentencia switch y también debe incluir una sentencia break para evitar un error de paso al siguiente caso si se añade otro caso.

    <b>Practica 2</b>

    1.- Creamos una película nueva de 400x300 píxeles.

    2.- En el fotograma 1, creamos una variable para ser originales, “clics”
    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->
    var clics:Number = 0;<!--c2--></div><!--ec2-->

    3.- Creamos un cuadro de texto dinámico vació y le agregamos el nombre de instancia “texto”.

    4.- Creamos un MC vació y le agregamos el nombre de instancia de “logos”.

    5.- Creamos un botón y le agregamos el siguiente script:

    <!--c1--><div class='codetop'>CÓDIGO</div><div class='codemain'><!--ec1-->on (press) {
    &nbsp;&nbsp;&nbsp;&nbsp;_root.clics += 1;
    &nbsp;&nbsp;&nbsp;&nbsp;//definicion de la variable y que en cada clic
    &nbsp;&nbsp;&nbsp;&nbsp;//se incremente en uno.
    &nbsp;&nbsp;&nbsp;&nbsp;switch (_root.clics) {
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//inicamos el bucle
    &nbsp;&nbsp;&nbsp;&nbsp;case 1 :
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;texto.text = "Enviando a ForoCreativo.net";
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Escribe el texto al presionar el boton
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getURL("http://www.forocreativo.net", "_blank");
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Envia a la direccion del sitio
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_root.logos.loadMovie("fc.png");
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//carga una imagen del sitio
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//termina con la condicion
    &nbsp;&nbsp;&nbsp;&nbsp;case 2 :
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;texto.text = "Enviando a SoloPhotoshop.com";
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getURL("http://www.solophotoshop.com", "_blank");
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_root.logos.loadMovie("ps.png");
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
    &nbsp;&nbsp;&nbsp;&nbsp;case 3 :
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;texto.text = "Enviando a Taller Webmaster";
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_root.createEmptyMovieClip("logos");
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_root.logos.loadMovie("tw.png");
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
    &nbsp;&nbsp;&nbsp;&nbsp;//terminamos el bucle
    }
    //termina la accion al presionar.<!--c2--></div><!--ec2-->
    Ejemplo
    <!--Flash 400+300+http://www.javiernavarro.be/ejemplos/link_case.swf--><OBJECT CLASSID='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' WIDTH=400 HEIGHT=300><PARAM NAME=MOVIE VALUE=http://www.javiernavarro.be/ejemplos/link_case.swf><PARAM NAME=PLAY VALUE=TRUE><PARAM NAME=LOOP VALUE=TRUE><PARAM NAME=QUALITY VALUE=HIGH><EMBED SRC=http://www.javiernavarro.be/ejemplos/link_case.swf WIDTH=400 HEIGHT=300 PLAY=TRUE LOOP=TRUE QUALITY=HIGH></EMBED></OBJECT><!--End Flash-->
    <a href="http://www.javiernavarro.be/ejemplos/link_case.fla" target="_blank">Descargar Archivo</a>

    En el ejemplo anterior, lo que acabamos de crear es una función bastante simple, la cual nos enviara a tres sitios web de los cuates de Creativa In. (Quique a lo mejor los conoce).

    La función comienza evaluando el valor de la variable global “clics”; en el primer bloque de código case, evalúa si “clics” es igual a 1 entonces que escriba en el cuadro de texto “Enviando a ForoCreativo.net” como primera instrucción, después que nos envié a la URL “http://www.forocreativo.net” definida en el comando getURL y por ultimo en la tercera instrucción de este caso, que nos cargue una imagen en el MC “logos” y por ultimo con el operador “break” que nos termine en este caso la ejecución de instrucciones.

    Funciona igual para los casos 2 y 3.

    <a href="http://www.forocreativo.net/ipb/index.php?showtopic=14703&st=0" target="_blank">Ir a la Parte 3. Los Bucles.</a>
     
  2.  
  3. elQuique

    elQuique Usuario activo

    Excelente :p
     
  4. adi

    adi Zen Moderator

    Muy bueno kitsch :D
     
  5. deck1187hw

    deck1187hw Nuevo usuario

    Genial este tutorial mira que ya sabia todo esto en la teoria de otros lenguajes pero lo que explicas aqui es especifico y te explica como hacer cada cosa con los ejemplos

    un 10
     
  6. ismaeliquid

    ismaeliquid Nuevo usuario

    ¡MAS QUE EXCELENTE!, HOY HE REVISADO LAS DOS PARTES DE ESTE MEGA TUTORIAL DE 'AS' Y ESTOY FASCINADO, Y AFORTUNADAMENTE ME CAE COMO ANILLO AL DEDO, YA QUE HE ESTADO PRECISAMENTE LEYENDO ACERCA DE ESTE LENGUAJE Y HE RESCATADO CIERTAS PARTES EN FORMA PRÁCTICA CON LOS EJEMPLOS QUE HACES FAVOR DE SUBIR, JEJEJE, MERECES TU ESTRELLITA EN LA FRENTE AMIGO :D , ¡SALUDOS!
     
  7. ceaped

    ceaped Nuevo usuario

    Excelente. Lo hice paso a paso e hice todos los ejercicios sin necesidad de bajarlos, eso quiere decir que está bien explicado. No me resta más que decirles que gracias y que espero que sigan subiendo mas tutoriales de AS más seguido hasta llegar a un nivel más complejo
    mucha suerte.
     
  8. Scriptmaster

    Scriptmaster Guest

    Exelente el tutorial. Tienes un poder de resumen increible. Todo esta bien al grano. Sabes ya yo sabia C++ pero no entendia parte de la sintaxis de este nuevo lenguaje aunque es muy parecido al C++, pero con estos nuevos tutoriales tuyos he aprendido increiblemente rapido la estructura de ActionScript espero que como dices en esta segunda parte no se quede aqui y continues escribiendo mas partes de este lenguaje.

    Creeme te felicito esta de 10 no de 1000 puntos!!!

    Salu2>>>>>>> Scriptmaster
     
  9. Humber

    Humber Nuevo usuario

    Te felicito esta excelente yo te entendi todo lo que explicastes....
     
  10. n'aix

    n'aix Nuevo usuario

    todo excelente hasta llegar a los MC como creo un MC?

    saludos y excelentes tutos
     
  11. elQuique

    elQuique Usuario activo

    MC es MovieClip, te aconsejo leas algun otro tutorial ais tienes mas info y no te pierdes, mira aca:

    <a href="http://www.tallerwebmaster.com/Tutoriales-Macromedia-Flash-c-3.html" target="_blank">http://www.tallerwebmaster.com/Tutoriales-...-Flash-c-3.html</a>
     
  12. n'aix

    n'aix Nuevo usuario

    gracias elQuique lo que pasa es que mis conocimientos en flash son muy pero muy basico y si estaba pensando que pudiera ser MovieClip pero todavia estoy muy confuso con las abreviaturas.

    deja veo el link

    saludos
     
  13. elQuique

    elQuique Usuario activo

    :) ya tomaras experiencia, hazte ademas de estas teoricas algunas de las practicas de esos otros tutos de nuestro sitio para webmasters
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·