Sie sind auf Seite 1von 16

1. EL LENGUAJE ACTIONSCRIPT.

PRIMER PROGRAMA
ActionScript es el lenguaje de programación propio de Flash. Es, un lenguaje de script, esto quiere decir que
no hará falta crear un programa completo para conseguir resultados, normalmente la aplicación de fragmentos
de código ActionScript a los objetos existentes en nuestras películas nos permiten alcanzar nuestros objetivos.

Tiene similitudes, por tanto, con lenguajes tales como los usados en el Microsoft Visual Basic, en el Borland
Delphi etc.

La sintaxis ActionScript presenta muchísimos parecidos con el JavaScript, C o PHP.

Nuestro primer programa:Nos podemos plantear hacer un programa que presente al usuario un formulario con
dos cajas de texto donde escribir y un botón en el que ponga “Sumar”. Suponemos que se escribe un número
en cada una de las cajas y al hacer clic en el botón mostramos el resultado de sumar ambos números. Como
esto es demasiado difícil por ahora para nosotros vamos a hacer un programa que simplemente calcule la
suma de dos números elegidos por nosotros, los programadores, y almacene el resultado.

var
numero1,numero2, resultado : Number;

numero1=5;
numero2=3;
resultado=numero1+numero2;

En la primera parte del programa le decimos a flash que vamos a utilizar tres contenedores para almacenar
números (Number) que se llamarán numero1, numero2 y resultado. Esta primera sección podemos decir que
no contiene instrucciones sino declaraciones, declaramos los contenedores que utilizaremos más adelante.

Después escribimos tres instrucciones que realmente hacen algo.

La primera introduce el valor 5 en el contenedor numero1.


La segunda hace lo mismo con el valor 3 y el contenedor numero2.
La tercera instrucción hace tres cosas. Primero recupera los valores almacenados en los dos contenedores,
después los suma y finalmente almacena el valor calculado en el contenedor resultado.

Un detalle importante es que cada línea de programación termina en punto y coma.

Este programa es perfectamente inútil porque no muestra el resultado en pantalla así que al ejecutarse en una
ventana de Windows el usuario no ve nada en absoluto.

Solo hemos operado con la memoria central y con la ALU pero no hemos utilizado en la ningún dispositivo de
entrada/salida.

2. VARIABLES

Las variables son contenedores donde podremos almacenar información para trabajar con ella. Esta
información puede ser modificada y leída. Una variable dentro de un programa debe tener un nombre fácil de
recordar y significativo, por ejemplo si utilizamos una variable para almacenar la nota media de un grupo de
alumnos lo lógico es que a la variable le demos el nombre de ‘media’.

Normas para nombrar las variables


ƒ Los nombres de variables sólo pueden contener letras, números y el carácter de subrayado.
ƒ Deben empezar con una letra.
ƒ Los nombres de variable son sensibles a las mayúsculas. Esto significa que Nombre, nombre o
NOMBRE serán variables distintas.
ƒ No podemos utilizar como nombre de variable el nombre de un elemento del lenguaje. Por ejemplo:
var, Number, etc.

Ejemplos de nombres de variables legales:


Nombre_Usuario;
FECHA12;
Lenguajes de Programación 1
AlturaDeLaNaveEspacialMarciana;

Ejemplos de nombres de variable no permitidos:


_NombreUsuario;
Nombre-Usuario;
123FECHA;

Tipos de variables
Hay tres tipos de variables según la información que almacenan:
ƒ Boolean: o booleano, puede almacenar sólo dos valores, o true (verdadero) o false (falso).
ƒ Number: puede almacenar números enteros o decimales, positivos o negativos. El signo decimal
en ActionScript es el punto ‘.’.
ƒ String: puede almacenar cadenas de caracteres, es decir, un conjunto de caracteres
alfanuméricos. Las variables de tipo String deben ir entre comillas dobles ("cadena") o ('cadena').

Declaración de variables
Antes de utilizar una variable, tenemos que declararla. Para declarar (crear) una variable y darle un valor
inicial se emplea esta sintáxis:

var
nombreVariable:tipoVariable [= valorVariable];

La información situada entre corchetes es opcional, es decir, podría no aparecer. No es necesario utilizar
sangría, incluso se podría situar toda la expresión en la misma línea dejando un espacio en blanco entre var y
el nombre de la variable. Sin embargo seguir la sintaxis que se presenta facilita la legibilidad de los programas.

Ejemplo:
var
miVariable:String = "Esta es mi variable";

Realmente, ActionScript no es muy restrictivo en la declaración de variables. Se permite, por ejemplo:

var altura = 5;
var ancho= 4.35;
var apellidos = "Moreno García" ;
var altura, ancho, apellidos, x;

Si declaramos una variable mediante var y no especificamos su tipo, la variable tomará el tipo del valor que se
le asigne.

En diferentes momentos una misma variable puede contener datos de distinto tipo, por ejemplo number y
string.

Ámbito de las variables


El ámbito de las variables es el sitio donde puedan utilizarse. Existen 2 ámbitos de variables: el local y el de
línea de tiempo.

Las variables declaradas en la línea de tiempo pueden utilizarse en cualquier fotograma posterior y su
contenido se mantendrá intacto.

Aún no hemos estudiado las funciones, que son bloques de instrucciones a las que se les asigna un
nombre y se comportan como pequeños programas que realizan una tarea concreta. Si una variable se
declara dentro de una función sólo será accesible dentro de ella misma, se dice que tiene un ámbito local

Por tanto, las variables declaradas dentro de la función son locales, y sólo existen dentro de ésa
función. Si dentro de una función queremos emplear una variable definida en la línea de tiempo
simplemente tenemos que acceder a su contenido utilizando su nombre.

3. OPERADORES Y EXPRESIONES

Un operador es un símbolo que realiza una acción dentro de una expresión de ActionScript. Una expresión
es un conjunto de operadores, variables y constantes relacionados entre sí de un cierto modo.

Lenguajes de Programación 2
Por ejemplo:

i = 3 ; --> Es una expresión cuyo resultado será asignarle a la variable ' i ' el valor 3 (que es una
constante). A partir de este punto, la variable i vale 3.

j = 5 + i ; --> Es una expresión cuyo resultado será asignarle a la variable ' j ' la suma de la constante
5 y la variable ' i ' que sabemos que vale 3 (porque le hemos asignado este valor antes). Por tanto, el
resultado de esta expresión es asignarle 8 a j. También se puede considerar como asignar a j el valor de la
expresión 5 + i

Operador de asignación = Asigna a la variable de la izquierda el valor de la derecha

Operadores aritméticos: suma +, resta - , multiplicación *, división / y módulo %.

El operador módulo calcula el resto de realizar la división entera entre dos números. Por ejemplo 5 % 2 daría
como resultado 1.

4. Instrucciones de entrada-salida. Respuesta a eventos. Introducción del código

En los primeros tiempos de la informática los usuarios lanzaban los programas escribiendo el nombre del
mismo en la línea de comandos. C:\>programa. Entonces el sistema operativo buscaba el programa en el
disco y lo cargaba en memoria principal. Entonces el programa se iba ejecutando de desde la primera
instrucción escrita por el programador hasta la última ordenadamente. Lo habitual era que en las primeras
instrucciones el programa solicitara por teclado los datos necesarios, después realizara los cálculos y
finalmente mostraba los resultados. Las posibles variantes eran que los la entrada-salida se realizara
mediante ficheros y que los resultados se imprimieran.

Desde la aparición de los entornos gráficos como Windows la programación es guiada por eventos. Esto
significa que el programador ya no tiene que controlar el qué momento pide datos al usuario. Por el
contrario, se diseñan ventanas con botones, cajas de texto, botones de opción, etc… y se indica qué hay
que hacer cuando ocurra un evento como por ejemplo hacer clic sobre un botón, o pasar el ratón sobre una
imagen.

Nosotros trataremos la entrada de datos mediante formularios de manera que al hacer clic en un botón,
cogemos los datos de las cajas de texto. La salida de datos la realizaremos en etiquetas (label).

Línea de tiempo: Colocamos una capa para el formulario y otra capa para la programación

Lenguajes de Programación 3
Formulario: En el menú Ventana debemos hacer visibles las ventanas propiedades, inspector de
propiedades y

En componentes utilizaremos Button, TextInput y Label

En propiedades asignamos nombres significativos a los objetos: txtOperando1, txtOperando2,


labelResultado y btnSuma.

Operando1 y Operando 2 son objetos Label pero no nos preocupamos por sus nombres porque no vamos a
realizar con ellos ninguna operación.

Arriba tenemos un objeto Label sin texto al que asignaremos el nobre labelResultado.

Lenguajes de Programación 4
Para introducir el código de programación ActionScript hacemos clic con el botón derecho sobre la capa
programación y elegimos Acciones. Escribimos este código

ƒ btnSuma.addEventListener(MouseEvent.CLICK,sumar);

Al objeto btnSuma le añadimos un escuchador de eventos. ¿Qué evento? hacer clic con el ratón. ¿Qué
hacemos cuando ocurra ese evento? ejecutamos la función sumar.

ƒ function sumar(event:MouseEvent)
{
……………………………
}
Esta estructura delimita mediante llaves un grupo de instrucciones. En el interior del paréntesis decimos que
la función se ejecuta como respuesta a un evento de ratón.

ƒ op1=Number(txtOperando1.text);
Number() es una función propia de ActionScript que a partir de una cadena de caracteres que tenemos
dentro de la caja de texto, genera un número.
txtOperando1.text permite acceder al texto que hay en la caja que siempre es de tipo String. El problema es
que el número que teclea el usuario, por ejemplo 78, tienen formato de cadena de caracteres ‘78’ y
necesitamos convertirlo en número para poder realizar una operación matemática con ese valor.

ƒ labelMensaje.text = String(resultado);
El contenido de un objeto Label debe ser de tipo String, por eso utilizamos esta función que opera de forma
opuesta a Number.

Una vez introducido el código debemos asegurarnos de que no hemos cometido ningún error de sintaxis.
Menú Depurar/Depurar película

Si hemos cometido algún error, nos aparece un mensaje en la ventana ERRORES DEL COMPILADOR.
Finalmente podemos publicar la película.

Lenguajes de Programación 5
5. Objetos. Propiedades y métodos

Los Objetos son instancias de una determinada clase. Esto es, son representantes de una clase ya definida.
Cada objeto tiene las propiedades y métodos propios de la clase. Así, son objetos, por ejemplo, un botón, un
clip de película, un gráfico o un sonido... es decir, que prácticamente todo es un objeto en Flash CS4.

Cada objeto tiene una serie de Propiedades (que veremos después), unos Métodos y eventos, que dan
funcionalidad a los objetos. Cada objeto reacciona ante los Métodos y eventos que tiene definidos. Podemos
encontrar una lista con todas las propiedades, métodos y eventos de un objeto en el panel Acciones.

Los objetos que se visualizan en Flash, pertenecen a la clase DisplayObject.

Para usar las propiedades, se debe colocar el nombre de la instancia del objeto seguido de un punto (.) y
después la propiedad y su valor (objeto.propiedad = valor). Propiedades de DisplayObject, comunes a
todos los objetos que se visualizan.

alpha Hace referencia a la opacidad del objeto al que afecte. La opacidad se puede definir como la no-
transparencia. De modo que un 100% de transparencia equivale a un 0 de opacidad, o a un 0 de alpha.

height Devuelve o establece la altura del objeto en píxeles.

width Propiedad idéntica a la anterior, pero devuelve o establece la anchura.

visible Determina si el objeto está o no visible en nuestra película. Cuando vale 1 o True, lo está, cuando
vale 0 o False, pasa a ser invisible.

x Con esta propiedad obtenemos o establecemos las coordenadas del objeto respecto del eje de las X
(horizontal). Sirve para averiguar la posición o para asignarla de forma dinámica (durante la ejecución de
nuestra película Flash)

y Con esta propiedad obtenemos las coordenadas del objeto respecto del eje de las Y (vertical). Sirve
para averiguar la posición o para asignarla de forma dinámica (durante la ejecución de nuestra película
Flash).

rotation Con esta propiedad obtenemos o establecemos el giro del objeto, su rotación, expresado en
grados.

name Con esta propiedad obtenemos o estabecemos el nombre de la instancia.

En nuestro ejemplo hemos utilizado la propiedad text de los objetos Operando1, Operando2 y
labelMensaje. En cuanto a métodos hemos utiizado el addEventListener del objeto btnSumar.

Lenguajes de Programación 6
6. Comentarios

Los programas que hacen cosas útiles suelen tener miles de líneas de código. Las instrucciones de los
lenguajes de programación están formadas por palabras en inglés y las expresiones tienen una sintaxis
particular que no tiene nada que ver con la construcción de frases en ningún idioma. Por este motivo es
fundamental documentar el código de los programas mediante comentarios que faciliten la comprensión de los
mismos por parte de otras programadores o incluso la del propio autor al cabo del tiempo.

//: Comentario de línea. Indica que el texto a partir de ahí, y en esa línea, es un comentario, y no se
ejecutará como código.

/* ....... */: Comentario de bloque. Cualquier texto de una o más líneas encerrado entre estos caracteres
es un comentario, y no se ejecutará como código.

7. FUNCIONES

1 Definición: Una función es un bloque de código que podemos utilizar en cualquier parte del archivo, siempre
que haya sido definida en el mismo o en un fotograma anterior. Las funciones se definen con la palabra
function.

function sumar()
{
var n;

n=4+2;
labelMensaje.text=String(n);
}

Para que se ejecute la función, debemos de llamarla en alguna parte del código:
sumar();

2 Parámetros o argumentos Podemos crear funciones un poco más complejas enviándole parámetros:

function saludar(nombre:String)
{
labelMensaje.text='Hola '+nombre;
}

Observa que en el parámetro hemos indicado el tipo de dato que será, es este caso del tipo String.

Ahora para llamarla usaríamos por ejemplo:


saludar("Bruno"); //Escribiría: Hola Bruno

Podemos enviar varios parámetros separados por comas. Si al parámetro le damos un valor, este se
convertirá en un parámetro opcional, y podemos enviarlo al llamar a la función o no. Por ejemplo:

function saludar(nombre:String, pregunta:String='¿qué tal?')


{
labelMensaje.text= ('Hola '+nombre+' '+pregunta);
}

Ahora podemos llamarla de dos formas: enviando todos los parámetros, o no enviando los parámetros
opcionales, por lo que tomará el valor por defecto:
saludar("Bruno"); //Escribiría: Hola Bruno ¿qué tal?
saludar("Bruno", "¿te gusta TICO tanto como a mi?"); //Escribiría: Hola Bruno ¿te gusta TICO ….?

Lenguajes de Programación 7
3 Devolver valores. En vez de que la función realice una acción, también podemos utilizarla para que
devuelva valores u objetos. Por ejemplo:

function saludar(nombre:String):String
{
return 'Hola '+nombre;
}

Observa que hemos indicado detrás de la función el tipo de valor a devolver, en este caso devolverá un String,
tal como hacíamos con las variables.
En muchos ejemplos el tipo indicado es :void. Esto no es un tipo de datos, si no todo lo contrario. :void indica
que esa función no devuelve ningún valor.
El valor que devuelve es lo indicado la instrucción return.
En el ejemplo anterior la función no realiza ninguna acción, sólo devuelve un valor
En la llamada escribimos:

labelMensaje.text=saludar(“Juanjo”);

Lenguajes de Programación 8
8. INSTRUCCIÓN CONDICIOAL IF-ELSE

En muchas ocasiones es necesario que una o varias instrucciones se ejecuten en función de una condición.
Por ejemplo en un programa para dividir dos números deberíamos comprobar que el divisor es distinto de cero
antes de realizar la división porque en este caso la división no se puede realizar.

btnDividir.addEventListener(MouseEvent.CLICK,divir);
function dividir(event:MouseEvent)
{
var op1, op2, resultado: Number;

op1=Number(txtOperando1.text);
op2=Number(txtOperando2.text);
if (op2==0)
{
labelMensaje.text = “No se puede divider entre cero”;
}
else
{
resultado=op1/op2;
labelMensaje.text = String(resultado);
}
}

La sintaxis de la sentecia if es:

if (condición)
{
bloque if: instrucciones si se cumple la condición ;
}
[else
{
bloque else: instrucciones si no se cumple la condición;
}]

codición: debe ser una expresión cuyo resultado debe ser true o false.
El bloque else puede no estar presente
Las llaves no son necesarias si el bloque contiene una sola instrucción. Se podría haber escrito:
if (op2==0)
labelMensaje.text = “No se puede dividir entre cero”;
else
{
resultado=op1/op2;
labelMensaje.text = String(resultado);
}

Las llaves no tienen que estar obligatoriamente situadas en líneas independientes, sería válido:
if (op2==0) labelMensaje.text = “No se puede dividir entre cero”;
else {
resultado=op1/op2;
labelMensaje.text = String(resultado); }

No utilizaremos este estilo porque no favorece la legibilidad de los programas.


Cuando ambos bloques tenga una sola instrucción sí escribiremos:
if (condición) instrucción A;
else instrucción B;

Lenguajes de Programación 9
Es importante tener en cuenta que dentro del bloque de instrucciones if o else puede habar cualquier
instrucción, incluso otra estructura if-else independiente:
if (condición)
{
…………………………………..
if (codición)
{
………………………..
}
else
{
………………….
}
……………………………..
}
else
{
………………………………..
}
Es fundamental en estos casos utilizar el sangrado para poder identificar fácilmente los distintos. bloques if y
else.

Operadores de Comparación
Empleados en expresiones decondicionales, devuelven un valor lógico, verdadero (TRUE o 1) si la
comparación es cierta, o falso (FALSE o 0) si no lo es.
Operador Descripción Ejemplo
> Mayor que 6 > 5 es verdadero.
< Menor que 6 < 5 es falso.
>= Mayor o igual que 6 >= 5 es verdadero.
<= Menor o igual que 6 >= 6 es verdadero.
== Igual 'hola' == 'hola' es verdadero.
!= Distinto 'hola' != 'hola' es verdadero.

Operadores lógicos.

Evalúan valores lógicos. Normalmente se emplean para comparar dos expresiones con operadores
relacionales, y devuelve verdadero o falso.

Operador Descripción Ejemplo


(6 > 5) && (1==1) devuelve
And (Y) Devuelve verdadero si los dos valores son
&& verdadero
verdaderos
(6 > 5) && (1==0) devuelve falso
(6 > 5) || (1==1) devuelve verdadero
Or (O) Devuelve verdadero si alguno de los valores es
|| (6 > 5) || (1==0) devuelve verdadero
verdadero
(6 > 6) || (1==0) devuelve falso
Not (Negado) Devuelve verdadero si el valor era falso, y al !(9 > 2) devuelve falso
!
revés. !(9 ==9) devuelve falso

Lenguajes de Programación 10
Vamos a ver ejemplos de utilización de estos operadores:

Saber si un número está comprendido entre 5 y 10: n ∈ [5,10]


if ((n>4) && (n<11)) texto=”Está entre 5 y 10”;
else texto=”Está entre 5 y 10”;
labelMensaje.text=texto;

también es válido:

if ((n>=5) && (n=<10)) texto=”Está entre 5 y 10” ;


else texto=”Está entre 5 y 10”;
labelMensaje.text=texto;

Determinar si un número cumple o no esta condición: “está comprendido entre 100 y 200 pero no es el 120”.

if ((n>=100) && (n<=200) && (n!=120)) texto=”cumple la condición”


else texto=”no cumple la condición”
labelMensaje.text=texto;

Determinar si un número cumple o no esta condición: “es menor que 10 o mayor que 20 o es el 15”.

if ((n<10) || (n>200) || (n==15)) texto=”cumple la condición”


else texto=”no cumple la condición”
labelMensaje.text=texto;

9. El objeto MATH

El objeto Math permite manejar funciones matemáticas elementales. Por ejemplo si quiero calcular la raiz
cuadrada de un número puedo escribir:
i=34.56;
x=Math.sqrt(i)

sin(x:Number) : Number Calcula y devuelve el seno del ángulo especificado en


radianes.
cos(x:Number) : Number Calcula y devuelve el coseno del ángulo especificado en
radianes.
pow(x:Number, y:Number) : Calcula y devuelve x elevado a la potencia de y.
Number
random() : Number Devuelve un número n seudo-aleatorio, donde 0 <= n <
1.
log(x:Number) : Number Devuelve el logaritmo del parámetro x.

sqrt(x:Number) : Number Calcula y devuelve la raíz cuadrada del número


especificado.
tan(x:Number) : Number Calcula y devuelve la tangente del ángulo especificado.

Lenguajes de Programación 11
10. Bucles

Un bucle es un bloque de instrucciones que se repiten dependiendo que se cumpla una condición. Cada vez
que el bloque de instrucciones se ejecuta se evalúa la condición que controla el bucle para ver si debe
repetirse o no el proceso.

Para realizar pruebas rápidas de programas utilizaremos la ventana ‘salida F2’ del entorno de flash en lugar de
objetos label. Si queremos que nuestro programa escriba en ellas utilizamos trace(‘hola’).

En la mayoría de los lenguajes de programación existen tres estructuras de bucle: for, while y do-while.

BUCLE while
while (condition)
{
sentencia(s)
}
Evalúa una condición y, si ésta da como resultado true, ejecuta una o varias sentencias antes de volver a
ejecutar el bucle para evaluar la condición nuevamente. Después de que la condición dé como resultado false,
se omiten las sentencias y finaliza el bucle y el programa continúa ejecutándose por la instrucción que sigue a
la llave de cierre ya fuera del bucle.

Las llaves ({}}) que encierran las sentencias que va a ejecutar while no son necesarias si sólo se va a ejecutar
una sentencia.

En el ejemplo siguiente, la sentencia while se utiliza para comprobar una expresión. Cuando el valor de i es
menor que 20, se realizará un seguimiento de dicho valor i. Cuando la condición deja de ser true, el bucle
finaliza.
var i:Number = 0;
while (i < 20)
{
trace(i);
i += 3;
}

0
3
6
9
12
15
18

BUCLE do-while
do
{
statement(s)
} while (condition)

Similar al bucle while, con la diferencia de que las sentencias se ejecutan una vez antes de la evaluación inicial
de la condición. Las sentencias a continuación sólo se ejecutan si la condición da como resultado true.

Un bucle do..while garantiza que el código dentro del bucle se ejecutará al menos una vez. Aunque también
puede lograr esto con un bucle while colocando una copia de las sentencias que se van a ejecutar antes de
que se inicie el bucle while, muchos programadores consideran que es más fácil leer los bucles do..while.

Si la condición da siempre como resultado true, el bucle do..while es infinito. Si se introduce un bucle infinito,
habrá problemas con Flash Player y finalmente se obtendrá un mensaje de advertencia o se bloqueará el
reproductor. Siempre que sea posible, utilice un bucle for si sabe el número de veces que desea ejecutar el
bucle. Aunque es fácil leer y depurar los bucles for, no siempre pueden sustituir a los bucles do..while.

Ejemplo

Lenguajes de Programación 12
Cómo utilizar los ejemplos
El ejemplo siguiente utiliza un bucle do..while para evaluar si una condición es true, y realiza un seguimiento
de myVar hasta que myVar sea 5 o un valor superior. CuandomyVar llega a 5 o un valor superior, el bucle
finaliza.
var myVar:Number = 0;
do
{
trace(myVar);
myVar++;
}
while (myVar < 5);

0
1
2
3
4

BUCLE for

for ([init]; [condition]; [next])


{
sentencia(s)
}
Evalúa la expresión init (inicializar) una vez y, a continuación, inicia una secuencia de reproducción indefinida.
La secuencia de reproducción indefinida se inicia evaluando la expresión condition. Si la expresión condition da
como resultado true, se ejecuta sentencia(s) y se evalúa next. La secuencia de reproducción indefinida se inicia
nuevamente con la evaluación de la expresión condition.

Las llaves ({}) que encierran el bloque de sentencias que va a ejecutar la sentencia for no son necesarias si sólo
se va a ejecutar una sentencia.

El ejemplo siguiente utiliza for para realizar la misma acción repetidamente. En el código, el bucle for añade los
números de 1 a 100.

var sum:Number = 0;
for (var i:Number = 1; i <= 100; i++)
{
sum += i;
}
trace(sum); // 5050

El ejemplo siguiente muestra que las llaves ({}}) no son necesarias si sólo se va a ejecutar una sentencia:

var sum:Number = 0;
for (var i:Number = 1; i <= 100; i++)
sum += i;
trace(sum); // 5050

Lenguajes de Programación 13
11. Control de la reproducción de la película mediante ActionScript

Hasta ahora nuestras películas tenían un solo fotograma con el formulario y el código en su capa
correspondiente.

A partir de una presentación que tenga una interpolación clásica podemos incluir en la capa de programación,
en un fotograma cualquiera:
gotoAndPlay(4);
gotoAndStop(30);
play();
stop();

En lugar de escribir el número del fotograma al que vamos a saltar es útil crear una nueva capa que
llamaremos “etiquetas”. En esta capa, en los fotogramas que serán destino de saltos en la reproducción
insertamos un fotograma clave vacío y en el panel ‘propiedades’ label, escribimos un nombre como ‘inicio’ o
‘final’ que nos facilite la comprensión de la película.

Vamos a crear una animación

En la capa de programación introducimos:

En el fotograma 1:
var
contador:Number=1;
En el fotograma 100:
contador++;
if (contador<4) gotoAndPlay("inicio");
else stop();

Es muy importante que la etiqueta ‘inicio’ esté situada en el fotograma 2 porque si la ponemos en el fotograma
1 estaremos poniendo a 1 el contador en cada reproducción con lo que no parará el bucle.

Ejercicio: incluir un número en la escena que vaya incrementándose de 1 hasta 3 con cada repetición.

Lenguajes de Programación 14
12. Controlar propiedades de clips de película con ActionScript.

Hasta ahora hemos trabajado sobre la propiedad text de las cajas de texto y las etiquetas (label). Cualquier
elemento de nuestra presentación que sea un clip de película, como un botón, una imagen o un texto
convertidos en símbolos tienen estas propiedades sobre las que podemos actuar desde ActionScript.

Propiedad Significado Valores Interpretación


x Posición horizontal 0 en adelante 0 significa pegado a la izquierda
y Posición vertical 0 en adelante 0 significa arriba del todo
rotation Rotación -180 a 180 En grados
alpha Trasparencia Entre 0 y 1 0 es transparente
scaleX Escala horizontal 0 en adelante 0.5 es el 50%, la mitad del tamaño
scaleY Escala vertical 0 en adelante 2 es el 200%, el doble del tamaño
visible Visibilidad true o false false oculta el objeto

Podemos situar una imagen en el escenario y mediante botones podemos modificar estos valores:

imagen.x=imagen.x+1; o bien imagen.x++;


texto.rotation+=5;

13. Crear interpolaciones con ActionScript

Hasta ahora hemos creado interpolaciones mediante el interfaz, vamos crear ahora una interpolación
mediante ActionScript.

Asociado al evento CLIC de un botón etiquetado ‘Desvanecer’ llamamos a la función desvanece:

function desvanece(e:MouseEvent)
{
var interpolacionDesvanece:Tween= new Tween (nombreimagen, “alpha”, None.easeIn, 0, 1, 3, true);
}

nombreImagen: es el nombre del símbolo que vamos a desvanecer


“alpha”: es la propiedad que vamos a modificar
1: es el valor inicial opaco
0: es el valor final transparente
None.easeIn: establece el modo de aceleración, consulta la ayuda: fl.transitions.easing
3: el tiempo que se tardará
true: indica que el tiempo se medirá en segundos, no en microsegundos.

Lenguajes de Programación 15
14. Ejercicios

1. Mostrar la suma de dos números introducidos por el usuario a través de dos cajas de texto. Cuando se
pulsa el botón Sumar, se muestra el resultado.

2. Pedir al usuario dos números mediante cajas de texto y mostrar la suma, resta, producto, cociente y
módulo en función del botón pulsado.

3. Mostrar la media de tres números introducidos por el usuario mediante cajas de texto

4. Pedir un número al usuario e indicar si es positivo, negativo o cero.

5. Pedir la edad al usuario e indicar si corresponde a edad escolar (menor que 16), laboral (entre 17 y 54)
o de jubilación.

6. Pedir dos números al usuario e indicar cual es el mayor o bien si los tres son iguales.

7. Programa que resuelve ecuaciones de segundo grado a partir de los valores de a, b y c.

8. Mostrar los números de 1 al 20.

9. Mostrar los números del 20 al 1.

10. Sumar los números del 1 al 25.

11. Mostrar los números pares del 1 al 40.

12. Preguntar al usuario cuantas veces quiere ser insultado n, y mostrar n veces la palabra ‘malandrín’

13. Mostrar los números del 1 al n introducido por el usuario, excepto los múltiplos de 4.

14. Función que calcula el doble de un número.

15. Calcular la suma de una serie de números introducidos por el usuario que va pulsando un botón
‘Siguiente’, cuando se pulsa el botón ‘Suma’ se muestra este resultado.

16. Igual que el anterior para calcular la media.

17. Pedir un número al usuario. Si es menor que 1 mostramos un mensaje de error. Si el mayor o igual
que 1 llamamos a una función que calcula la suma de los números de 1 al número dado.

18. Pedir números al usuario, cuando se pulsa en botón fin, se indican cuantos eran pares, cuantos
impares y cuantos mayores que 10.

19. Pedir al usuario que adivine una palabra, por ejemplo ‘juanjo’. Cada vez que falle se le muestra un
mensaje de error y se le indican los intentes que ha realizado.

20. Igual que anterior pero en esta ocasión limitamos el número de intentos a 5. En el momento que
comente el quinto error inhabilitamos la caja de texto en la que se introducen las palabras.

21. Utilizar una función para la potenciación de dos números (base y exponente) mediante
multiplicaciones sucesivas.

22. Utilizar una función para calcular el factorial de un número.

Lenguajes de Programación 16

Das könnte Ihnen auch gefallen