Вы находитесь на странице: 1из 14

Animacin con Actionscript

La animacin basada en fotogramas clave e interpolaciones dentro del entorno de autora de Flash constituye el mtodo ms conocido y utilizado por la comunidad de usuarios de esta aplicacin. No obstante, existe una alternativa menos extendida pero altamente recomendada si lo que se desea es lograr animaciones de un realismo y fluidez significativamente mayores: el control de la animacin a travs de scripts. Los beneficios de la animacin programada se resumen en los siguientes puntos: 1) Mayor realismo animaciones y fluidez en las

Las animaciones programadas logran un nivel de realismo perceptiblemente mayor que el de las interpolaciones basadas en fotogramas clave. Controlando la animacin de un objeto mediante ecuaciones fsicas y matemticas, ste responder de forma muy similar a la que reaccionan los objetos en la vida real, sometidos a parmetros fsicos como velocidad, aceleracin, friccin y elasticidad. 2) Dinamismo e interactividad Mediante programacin es posible definir el comportamiento animado de un objeto basndonos por ejemplo en la interaccin por parte del usuario, ya sea a travs de los dispositivos de entrada ms comunes (teclado y mouse), o su movimiento delante de una cmara web. Las animaciones se vuelven "dinmicas", porque no se ajustan a un nico patrn. A travs de scripts podemos dotar a un objeto de un movimiento aleatorio, o hacerlo reaccionar a distintos parmetros fsicos, de modo que nunca estaremos contemplando la misma animacin. 3) Menor tamao y mayor solidez El tamao de los archivos exportados se reduce drsticamente cuando nos limitamos a establecer una serie de reglas y descripciones para que el procesador genere la animacin deseada en tiempo de ejecucin. La ventaja no radica nicamente en el tamao del archivo, sino tambin en la simplificacin de la estructura interna del documento, donde generalmente se agrupa todo el cdigo en un slo fotograma, facilitando la lectura, interpretacin y depuracin.

TUTORIALES MACROMEDIA FLASH


ActionScript, Introduccin al lenguaje - Parte 1
Por Kitsch, http://www.javiernavarro.be/ ActionScript es un lenguaje desarrollado por Macromedia y con la nica finalidad en sus inicios de agregarle interactividad a su creciente formato animacin vectorial Flash SWF. Bien ActionScript se conoce como tal a partir de la versin 5 de Flash y a partir de esta es cuando los diseadores se vieron en la necesidad de volverse programadores y le tuvieron que entrar al cdigo pues las posibilidades que brindaba relativamente nueva tecnologa era bastante. En fin, despus del obligado chorro introductivo, comentare que actualmente la versin mas reciente es ActionScript 2.0 y en no mucho saldrn las betas de ActionScript 2.5 y posteriormente el ActionScript 3.0 segn publico Macromedia hace un par de meses; pero eso por ahora no nos interesa y continuaremos este mini manual o extenso tutorial (como gusten apreciarlo mejor) directamente al grano o bien tratando de meter la menos teora posible, aunque en momentos no habr otra alternativa. Caractersticas Principales

ActionScript est basado en la especificacin ECMA-262, al igual que otros lenguajes como Javascript y C++ Es un lenguaje de script, esto quiere decir que no har falta crear un programa completo para conseguir resultados, normalmente la aplicacin de fragmentos de cdigo ActionScript a los objetos existentes en nuestras pelculas nos permiten alcanzar nuestros objetivos. ActionScript 2.0 es un lenguaje de programacin orientado a objetos, tiene similitudes, por tanto, con lenguajes tales como los usados en el Microsoft Visual Basic, en el Borland Delphi etc... y aunque, evidentemente, no tiene la potencia de un lenguaje puramente orientado a objetos derivado del C o del Pascal como los anteriores, cada versin se acerca ms a un lenguaje de este tipo. As, la versin 2.0 de Flash MX 2004 y Flash 8 es mucho ms potente y mucho ms "orientado a objetos" que su anterior versin 1.0 ActionScript presenta muchsimos parecidos con el Javascript; si conoces Javascript, la sintaxis y el estilo de ActionScript le resultarn muy familiares. Las diferencias entre ambos lenguajes las puede encontrar en la ayuda que acompaa al Flash. En la mayor parte de las ocasiones, no ser necesario "programar" realmente, Flash MX pone a nuestra disposicin una impresionante coleccin de "funciones" (de momento entenderemos "funciones" como "cdigo ActionScript que realiza una funcin determinada") ya implementadas que realizan lo que buscamos, bastar con colocarlas en el lugar adecuado.

Fuente: http://www.aulaclic.es/flashmx_2004/t_17_1.htm Javascript y ActionScript

ActionScript no admite objetos especficos de navegador como Documento, Ventana y Anclaje. ActionScript no admite completamente todos los objetos incorporados de JavaScript. ActionScript no admite algunas construcciones sintcticas de JavaScript, como las etiquetas de sentencia. En ActionScript, la funcin eval() slo puede realizar referencias de variables. ActionScript 2.0 admite diversas funciones que no se incluyen en la especificacin ECMA262, como las clases y la comprobacin de tipos al compilar. Muchas de estas funciones

se modelan a partir de la especificacin del lenguaje ECMAScript (ECMA-262) edicin 3 (consulte www.ecma-international.org/publications/standards/Ecma-262.htm). ActionScript no admite expresiones regulares mediante el objeto RegExp. No obstante, Macromedia Central s es compatible con el objeto RegExp. Para ms informacin sobre Macromedia Central, consulte www.macromedia.com/software/central.

Fuente: Ayuda de Flash. Libro: Aprendizaje de ActionScript en Flash 2.0, "Diferencias entre Javascript y Actionscript" Bien entendido esto un poco, pasaremos directamente al cdigo que es lo que nos interesa y comenzaremos por el estilo de programar, mejor conocido como sintaxis. Sintaxis La sintaxis de flash es como antes mencionaba un script y en particular muy, pero muy similar a los de java, aunque con sus respectivas diferencias, y aqu tratare de explicar como funciona. En general el cdigo se escribe de la siguiente manera function nombrefuncion (){ instrucciones de la funcin ... } Esto es, se declara siempre la variable u objeto, accin, mtodo o funcin y las instrucciones que realizara cuando se cumplan los parmetros especificados. A continuacin pongo un ejemplo un poco mas practico: var a:Function = function (){ _root.onEnterFrame.play(movie_mc); }; Si somos observadores veremos que hay ms parmetros que los especificados en el ejemplo 1, y esto se debe a que en la practica entre mas especifico sea nuestro script, menos probabilidades de errores tendremos en el molesto tiempo de depuracin. En el script anterior encontramos que la funcin que se ejecuta, la define una variable, la cual es "a". Las variables en flash al igual que en otros lenguajes de programacin, representa la informacin o datos que son cambiantes a lo largo de la ejecucin del programa, y en flash se definen por la palabra clave "var". Aqu algunos ejemplos: var casa:String = "Mi casa roja"; var coche:String = "Mi coche es un BMW"; var edad:Number = "25"; vivo = "Mexico"; Si ponemos atencin a los ejemplos anteriores encontraremos que no todas las variables son iguales, y eso es un error del programador. En Flash y mas en especifico en ActionScript se declara una variable con la palabra clave "var", hasta aqu todo esta bien, sin embargo todo lo que se encuentre a la izquierda de un signo de "=" es considerado una variable. Entonces si funciona lo mismo escribir: var casa:String = "Mi casa roja";

Que escribir: vivo = "Mexico"; Que caso tiene utilizar "var", el asignador ":" y la palabra "String" para declarar mis variables. Pues esto tiene una explicacin de logstica que en un futuro nos evitara muchos dolores de cabeza; ya que el motor compilador de flash viene incluido a partir de la versin MX 2004 con un comprobador de tipos. Esto para que nos sirve? Ahora lo muestro: var edad:Number = "25"; //Correcto var edad:Number = "Veinticinco"; //Incorrecto y genera error. En el ejemplo anterior creo que mas claro no podra dejarlo. Cuando aplicamos un tipo a una variable, forzamos al compilador a que este reconozca exclusivamente el tipo de valor asignado, de lo contrario no se ejecutara y generara un mensaje de error, ejemplo: var edad:Number = "Veinticinco"; //Incorrecto y genera error. Flash nos responder con el siguiente mensaje en el panel de salida: El tipo de la declaracin de asignacin no coincide: se encontr String donde se requiere Number. Esto aparentemente es un problema, pero cuando comencemos a escribir cdigos mas complejos, le daremos gracias con creces, pues el compilador nos esta diciendo donde esta nuestro error de lgica. En conclusin, es bastante recomendable utilizar siempre la comprobacin de tipos para nuestras variables, ya que esto nos ayudara mucho a evitar futuros errores en el momento de la compilacin. Nota: todos los tipos se comprueban, todos excepto el "object", que flash hace caso omiso a el. Para ms informacin., leer el manual de ayuda del programa. "Comprobaciones de tipo". Los Operadores Una vez entendida una de las principales bases del lenguaje que son las variables, ahora entraremos a otro de mayor importancia y son los operadores. Puede que se pregunten por el uso de smbolos matemticos en el cdigo. Los smbolos se denominan operadores en ActionScript. Los operadores calculan un valor nuevo a partir de uno o varios valores y un operador le permite asignar un valor a una variable del cdigo, por ejemplo el operador de igualdad (=) permite asignar un valor a una variable: Los operadores son caracteres que especifican cmo combinar, comparar o cambiar los valores de una expresin. Una expresin es cualquier sentencia para la que Flash puede calcular el resultado y que devuelve un valor. Puede crear una expresin combinando operadores y valores, o bien llamando a una funcin. El lenguaje ActionScript est formado por clases incorporadas, por lo que se deber utilizar la sintaxis correcta para formar sentencias de manera que el cdigo se compile y funcione correctamente en Flash. En este caso, la sintaxis se refiere a la gramtica y la ortografa de un lenguaje que le permite programar. El compilador no comprende la sintaxis incorrecta, por lo que observar errores o advertencias en el panel Salida cuando intentes comprobar el documento en el entorno de prueba o no se ejecutara cuando se haya exportado a SWF el

contenido. Por consiguiente, la sintaxis es un conjunto de reglas y directrices que le ayudan a formar cdigo ActionScript correcto. Una sentencia es una instruccin que se da al archivo FLA para que haga algo, como, por ejemplo, ejecutar una accin concreta. Por ejemplo, puede utilizar una sentencia condicional para determinar si algo es verdadero o si existe. Posteriormente, podra ejecutar las acciones que especifique, como, por ejemplo, funciones o expresiones, en funcin de si la condicin es verdadera o no. La sentencia if es una sentencia condicional que evala una condicin para determinar la siguiente accin que debe tener lugar en el cdigo. Operadores de sufijo Los operadores de sufijo toman un operador y aumentan o reducen el valor del operador. Aunque estos operadores son unarios, se clasifican independientemente del resto de operadores unarios debido a su mayor precedencia y a su comportamiento especial. ++ Incremento (sufijo) -- Decremento (sufijo Ejemplo: var suma:Number = 1; cantidad = ++suma; trace(suma); En el ejemplo anterior la variable "suma" tiene un valor numrico asignado de 1, en la instruccin siguiente aparece otra variable no asignada (object por defecto) con el operador de incremento "++" y ese se asigna a la variable suma y en una tercera instruccin le decimos que trace la variable suma. En nuestro panel de salida obtendremos "2" como resultado de este script. Al "traducir al espaol" este script le dice al programa que "suma" tiene un valor de 1, pero cantidad tiene una instruccin que incremente en uno a "suma" y en la tercera lnea le decimos a flash que escriba la variable "suma" la cual tiene un valor de 1 mas 1 agregado en la segunda instruccin, nos mostrara un resultado de 2. Operadores unarios Los operadores unarios utilizan un operando. Los operadores de incremento (++) y decremento (--) de este grupo son operadores de prefijo, lo que significa que aparecen delante del operando en una expresin. Tambin pueden aparecer tras el operando, en cuyo caso son operadores de sufijo. ++ Incremento (prefijo) -- Decremento (prefijo) + + unario ! - unario (negacin) typeof Devuelve informacin de tipo void Devuelve un valor no definido Ejemplo: var f:Number = 1; var g:Number = 1; var h:Number = f + g;

var i:Number = h; trace(i); Con esto flash nos devolver un valor de 2. Explico el porque. Asignamos que un valor de 1 a "f", y lo definimos como tipo "Number" al igual que lo hicimos con "g"; por el contrario a la variable "h" no le asignamos un valor numrico directamente, pero si especificamos que es un valor de tipo "Number" Qu pasa aqu? Por qu no genera error? Y lo mismo para la variable "i"? Esto sucede porque al momento de la compilacin flash solo entender que 1+1 es igual 2 y ese valor le asignara a "h" por lo tanto no contraviene con la declaracin de tipo que le asignamos a esta; sucede lo mismo con la variable "i" la cual flash entiende que "i" es igual a "h" y si "h" tiene un valor de "2" entonces "i" tambin lo tiene, por lo que en la ultima instruccin trazara 2 en el panel de salida. Operadores multiplicativos Los operadores multiplicativos toman dos operandos y realizan clculos de multiplicacin, divisin o mdulo. Entre los operadores numricos tambin figuran los operadores aditivos. Todos los operadores de esta tabla tienen idntica precedencia: * Multiplicacin / Divisin % Mdulo Ejemplo: var f:Number = 2; var g:Number = 2; var h:Number = f*g; var i:Number = h; trace(i); Este ejemplo nos devolver un valor numrico de 4 en el panel de salida. Operadores relacionales Los operadores relacionales toman dos operandos, comparan sus valores y devuelven un valor booleano (verdadero o falso). Todos los operadores de esta tabla tienen idntica precedencia: < Menor que > Mayor que <= Menor o igual que >= Mayor o igual que instanceof Comprueba una cadena prototipo in Comprueba las propiedades de objetos Ejemplo: var f:Number = 2; var g:Number = 2; var h:Boolean = f<=g; var i:Boolean = h; trace(i);

Este ejemplo devolver en el panel de salida "true" (verdadero) porque "f" es menor o igual a "g". En este ejemplo si sois observadores, vern que ha cambiado la asignacin de tipos de "h" e "i" de Number a "Boolean"; esto forzara al compilador a solo recibir valores verdadero o falso, y estos operadores relacionales solo devuelven de esta forma. Operadores de igualdad Los operadores de igualdad toman dos operandos, comparan sus valores y devuelven un valor booleano. Todos los operadores de esta tabla tienen idntica precedencia: == Igualdad = Desigualdad === Igualdad estricta == Desigualdad estricta Ejemplo: var f:Number = 2; var g:Number = 2; var h:Boolean = f==g; var i:Boolean = h; trace(i); Este ejemplo devolver "true" (verdadero) en el panel de salida. Operadores de Asignacin Los operadores de asignacin toman dos operandos y asignan un valor a un operando en funcin del valor del otro operando. Todos los operadores de esta tabla tienen idntica precedencia: = Asignacin *= Asignacin de multiplicacin /= Asignacin de divisin %= Asignacin de mdulo += Asignacin de suma -= Asignacin de resta <<= Asignacin de desplazamiento a la izquierda en modo bit >>= Asignacin de desplazamiento a la derecha en modo bit >>>= Asignacin de desplazamiento a la derecha en modo bit sin signo &= Asignacin de AND en modo bit ^= Asignacin de XOR en modo bit |= Asignacin de OR en modo bit Ejemplo var f:Number = 2; var g:Number = 10; var h:Number = f*=g; var i:Number = h; trace(i); Este ejemplo devolver 20 como resultado de la multiplicacin de f * g. Existen muchos mas operadores, los cuales podemos encontrar mucha informacin detallada en la Ayuda, Operadores. del programa. Estos otros son un tanto mas complejos

Las Propiedades y Tipos de Objetos Principales Todos los smbolos de botn, smbolo o MovieClip de un archivo SWF son instancias del objeto y se pueden asignar nombres de instancia en el inspector de propiedades y utilizar los mtodos y propiedades de la clase Button, MovieClip y Simbol para manipularlos con ActionScript. Los nombres de instancias de Button, MovieClip o Simbol se muestran en el explorador de pelculas y en el cuadro de dilogo Insertar ruta de destino del panel Acciones. Estas tres clases son practicante la base de nuestros archivos SWF, y mas en claro de nuestras pelculas y programas flash; pues en 80% de las veces trabajaremos con ellos para crear interactividades y dinamismo a nuestros programas. Enlistar aqu todas las propiedades aplicables cada una de estas clases me llevara muchsimo tiempo, adems de que de momento no utilizaremos todas, pero para consultas detalladas, todas las funciones se encuentran en la ayuda el programa en el libro Aprendizaje de ActionScript. 2.0 Si deseas que algo funcione en el archivo SWF, debers hacer referencia a la instancia en cuestin y luego indicarle que haga algo, como asignarle una accin o cambiar su propiedades. Normalmente deber definir el lugar en el que se encuentra dicha instancia en el archivo SWF (por ejemplo, en qu lnea de tiempo se encuentra o en qu instancia est anidada) mediante la creacin de la ruta de destino, al hacer esto, est haciendo referencia a dicha instancia en particular e indicndole que haga algo (por ejemplo, mover la cabeza lectora o abrir una pgina Web). Ejemplo: var a:Function = function () { _root.mianime_mc._alpha = 35; //esta linea escribe la ruta de accin if (b="activado") { _root.miamine_mc._alpha = 100; } else { _root.mianime_mc._alpha = 35; } }; En este ejemplo hay un funcin simple (mas compleja de lo antes visto pero no importa) que le dice al compilador que la variable "a" asignara la propiedad "alpha" a el objeto "mianime_mc" el cual es un MoviClip y se asigna la ruta mediante un "target" que el compilador le de la siguiente manera: _root.mianime_mc.alpha = 35; _root: define el nivel donde funcionara la instruccin; este puede ser _root el nivel principal; _this, mismo nivel o _parent, relativo. mianime_mc: es el nombre de instancia que asignamos a nuestro objeto MovieClip. _alpha: propiedad aceptada y validad de la Clase Object aplicada a la clase heredada MovieClip. Nota: No importa si hasta el momento no se entiende mucho el script y los trminos, mas delante veremos cada uno a detalle, solo deseo que se entienda la estructura en general.

Bien, retomando; los tres elementos nombrados previamente actuaran y se "enlazaran" entre si por medio del operador "." el cual en Flash tiene la funcin de unir argumentos, instancias y propiedades. En conclusin las propiedades en ActionScript representan las definiciones que aplicaremos a los objetos afectados por ellas; tamao, color, forma, etc.; y trabajaremos con estas a lo largo de todos nuestros programas, entre mejor definidas estn, mejores sern mejor los resultados.

TUTORIALES MACROMEDIA FLASH


ActionScript, Introduccin al lenguaje - Parte 2
Por Kitsch, http://www.javiernavarro.be/ En todos los lenguajes de programacin, 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 interaccin con el usuario y permite planificar que reaccin tendr el programa a determinada accin 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 lgico basado en "VERDADERO" Y "FALSO". Cuando una condicin se cumple el programa interpreta la accin como verdadero y de igual forma falso si no se cumple la condicin especificada. En ActionScript 2.0 son 4 los condicionales bsicos y son:

if if.. else if... else.. if ; y switch

Adems 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 continuacin 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. if (condicin) { sentencia }; Sentencia if La sentencia if es la mas "bsica" 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 parntesis y entre llaves la accin a realizar si es que se cumple la condicin. Para comprender mejor su funcionamiento, anexo una ligera practica en la cual le diremos al programa que cuente los clics que hagamos a un botn. Practica 1

1.- Creamos un nuevo documento de 200x150 pxeles 2.- Creamos un botn y lo nombramos "botn" 3.- Creamos un cuadro de texto dinmico 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:

var clics:Number = 0;

6.- Ahora seleccionamos el botn y le agregamos el siguiente script:

on (press) { clics += 1; //Incrementamos en 1 al presionar _root.texto.text = "1 click"; if (clics >> 1) { //iniciamos la sentencia _root.texto.text = clics+" clics."; } } En la anterior prctica lo que hicimos fue hacer un rpido conteo de clics del ratn, para hacerlo creamos en el nivel 0 de la pelcula la variable "clics" la cual tiene propiedad de "Number" y un valor inicial de 0. Un detalle de la clase botn, es que los botones tambin son condicionales, reaccionan por el controlador "on" y la condicin es el suceso del ratn, (release, prees, rolloOut, rollOver, etc.) y la accin se define entre llaves. Bien en el cdigo de nuestro botn, llamamos a la variable global "clics" y utilizacin un operador de incremento, con esto le decimos al flash que cada que se presione el botn, incremente el valor de la variable "clics" en uno. Despus 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 dinmico que creamos) escriba el valor actual de "clics" ms el texto " clics." If.. else Este condicional en realidad solo es un complemento del bsico if; la funcin principal de este condicional es al igual que if, si se cumple una condicin ejecute cierta accin, pero adems si no se cumple que realice otra. La estructura seria la siguiente: if (condicin) { accin } else { accin } Como se puede apreciar la sintaxis es exactamente la misma de la condicin if, salvo el detalle que agregamos un condicin "else", esta determinara que accin se producir si el resultado de la condicin es "FALSE" o bien si resulta "TRUE" ejecutara la primera opcin. 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 click 6 la barra negra, cambiara su opacidad. Al igual que ejemplo anterior cree una variable global var clics:Number = 0; Le agregue el siguiente cdigo:

on (press) { clics += 1; if (clics<=5) { _root.barra._alpha = 100; }else { _root.barra._alpha = 20; } } En este script escribimos la siguiente condicional, si se presiona el botn que incremente en uno el valor de la variable "clics", despus especificacin con la condicin 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 condicin de clics es menor a 5 no se cumple, entonces "else" define que el movieclip barra tenga una opacidad de 20. if.. else.. if Adems de agregar una condicin "else", podemos tambin en flash con este condicional, agregar varias condiciones a evaluar y todas se evaluaran de forma separada, si devuelven "TRUE" se ejecuta la accin especificada, mientras devuelva "FALSE" se ejecutara el resultado de else. La estructura sera as: if (condicin){ 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 dinmico y asignndole el nombre de instancia de "num" y modificando un poco el cdigo del botn, quedando de la siguiente manera: on (press) { clics += 1; _root.num.text = clics; //escribe el numero de clics if (clics==5) { _root.barra._alpha = 100; }else if (clics==6){ _root.barra._alpha = 60; }else if (clics==10){ _root.barra._alpha = 20; }else { _root.barra._alpha = 0; } } En el anterior script le decimos al programa que cuando se presione el botn, incremente en uno la variable "clics", en la segunda instruccin le decimos que nos escriba el valor de "clics" en el cuadro de texto "num".

En la tercera instruccin 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 condicin 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. switch El condicional switch funciona de forma muy similar a "if else if" 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 "if else if" simplemente por la organizacin y simplificacin del cdigo, aunque no lo hara para evaluar datos especficos pues no devuelve accin si se recibe "FALSE". Al igual que con las sentencias "if" switch evala una condicin y ejecuta una accin determinada, si esta condicin devuelve "TRUE". switch adems requiere de algunos operadores ms para funcionar correctamente, los cuales son: "case". "break" y "default", y son estos los que permiten crear una estructura organizada. Una estructura switch sera as: switch (condicin) { case 1: sentencia; break; case 2: sentencia break; default: sentencia: } La sintaxis siempre comienza con un "switch" y la condicin a evaluar; despus el operador "case" evaluara un valor determinado como condicin; "break" le dice al flash que corte o rompa la sentencia ejecutada si es que la siguiente condicin se cumple. Nota: Si se omite "break" se ejecutaran por ejemplo las sentencias 1 y 2 simultneamente. 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 tambin debe incluir una sentencia break para evitar un error de paso al siguiente caso si se aade otro caso. Practica 2

1.- Creamos una pelcula nueva de 400x300 pxeles. 2.- En el fotograma 1, creamos una variable para ser originales, "clics"

var clics:Number = 0;

3.- Creamos un cuadro de texto dinmico 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 botn y le agregamos el siguiente script:

on (press) { _root.clics += 1; //definicin de la variable y que en cada click //se incremente en uno. switch (_root.clics) { //iniciamos el bucle case 1 : texto.text = "Enviando a ForoCreativo.net"; //Escribe el texto al presionar el botn getURL("http://www.forocreativo.net", "_blank"); //Enva a la direccion del sitio _root.logos.loadMovie("fc.png"); //carga una imagen del sitio break; //termina con la condicin case 2 : texto.text = "Enviando a SoloPhotoshop.com"; getURL("http://www.solophotoshop.com", "_blank"); _root.logos.loadMovie("ps.png"); break; case 3 : texto.text = "Enviando a Taller Webmaster"; _root.createEmptyMovieClip("logos"); _root.logos.loadMovie("tw.png"); break; } //terminamos el bucle } //termina la accin al presionar. En el ejemplo anterior, lo que acabamos de crear es una funcin bastante simple, la cual nos enviara a tres sitios web de los cuates de Creativa In. (Quique a lo mejor los conoce). La funcin comienza evaluando el valor de la variable global "clics"; en el primer bloque de cdigo case, evala si "clics" es igual a 1 entonces que escriba en el cuadro de texto "Enviando a ForoCreativo.net" como primera instruccin, despus que nos envi a la URL "http://www.forocreativo.net" definida en el comando getURL y por ultimo en la tercera instruccin 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 ejecucin de instrucciones. Funciona igual para los casos 2 y 3.

Вам также может понравиться