You are on page 1of 8

Curso de ActionScript

ActionScript, el lenguaje de creacin de scripts de Flash, permite crear pelculas


con elementos interactivos. La pelcula se puede configurar para que ejecute scripts que
respondan a eventos de usuario como pueden ser hacer clic en el botn del ratn o
presionar una tecla.

Una visin general de ActionScript


El lenguaje ActionScript de Flash 5 admite los siguientes tipos de datos:
cadena, nmero, booleano, objeto y clip de pelcula. Los distintos tipos de datos les
permiten utilizar diferentes tipos de informacin en ActionScript.
Puede definir funciones con parmetros que devuelven valores. Esto le permite
volver a utilizar los bloques de cdigo en los scripts.
Puede utilizar los objetos predefinidos para acceder y manipular ciertos tipos de
informacin:
El objeto Sound le permite agregar sonidos a una pelcula y controlar
los sonidos en una pelcula a medida que se reproduce. Por ejemplo,
puede ajustar el volumen o el balance.
El objeto Mouse le permite ocultar el cursor estndar para que pueda
utilizar un cursor personalizado.
El objeto MovieClip le permite controlar clips de pelcula sin utilizar
una accin envolvente como tellTarget . Puede llamar a un mtodo como
play , loadMovie , o duplicateMovieClip desde un nombre de instancia
utilizando la sintaxis de punto.
Los Clips inteligentes tienen scripts internos que el usuario, u otro autor, puede
cambiar sin utilizar el panel Acciones. Puede pasar valores a un Clip inteligente
por medio de los parmetros de clip que puede definir en la Biblioteca.

Panel de Acciones
Para escribir scripts se utiliza el panel Acciones. Dicho panel permite asignar el
script a un fotograma de la lnea de tiempo principal o a la lnea de tiempo de cualquier
clip de pelcula, o bien a un botn o clip de pelcula en el Escenario. Flash ejecuta
acciones en momentos diferentes, dependiendo del elemento al que estn asociadas:
Las acciones asociadas con fotogramas se ejecutan cuando la cabeza
lectora accede a dicho fotograma.
Curso ActionScript

Las acciones asociadas con botones se encuentran encerradas en


acciones controladoras .
Las acciones asociadas con clips de pelcula se encuentran encerradas
en acciones controladoras onClipEvent .

Este panel vale para cada uno de los diferentes tipos de acciones asociados a los
distintos tipos de elementos a los que estn asociados.
En este curso, vamos a trabajar con las Acciones bsicas, Acciones, algunas
Funciones y los Objetos Mouse y Sound contenidos en el panel de Acciones.
Haremos ejercicios prcticos al final de cada uno de estos apartados.

Acciones Bsicas
Las siguientes acciones bsicas son modos comunes de control para la
interaccin del usuario en una pelcula:

gotoAndPlay (gotoAndPlay(escena, fotograma);).- Enva la cabeza lectora al


fotograma especificado en una escena y reproduce a partir de ese fotograma. Si no se
especifica escena, la cabeza lectora va el fotograma especificado en la escena actual.
Desde las pestaas
de Escena, Tipo y Fotograma
podemos configurar el acceso
a las escenas por medio del
nombre con el que las
dotamos, acceder a los
fotogramas, no por los
nmeros, sino por los rtulos
que les ponemos o incluso ir
al siguiente o al anterior sin
tener la necesidad de conocer
los nmeros de Fotograma.

Curso ActionScript

Play (Play ( );).- Desplaza la cabeza lectora hacia delante en la lnea de tiempo.
Stop (Stop ( );).- Detiene el clip de pelcula que se est reproduciendo
actualmente. La utilizacin ms corriente de esta accin es para controlar los clips de
pelcula con botones.
stopAllSounds (stopAllSounds ( );).- Detiene todos los sonidos que se estn
reproduciendo actualmente sin detener la cabeza lectora. Los sonidos establecidos en
flujo continuarn reproducindose mientras la cabeza lectora se mueve sobre los
fotogramas en los que se encuentran.
tellTarget (tellTarget (destino) { sentencia};).- Aplica las instrucciones
especificadas en el argumento sentencias a la Lnea de tiempo especificada en el
argumento destino. Asigna tellTarget a botones que detienen o inician los clips de
pelcula en otras partes del Escenario. Tambin puede hacer que los clips de pelcula
vayan a un fotograma concreto de dicho clip.
Acciones
duplicateMovieClip (duplicateMovieClip(destino, nuevo_nombre,
profundidad);).- Crea una instancia de un clip de pelcula mientras se reproduce la

pelcula. Los clips de pelcula duplicados siempre comienzan en el fotograma 1, sin


tener en cuenta en que fotograma estaba el clip de pelcula original. Las variables del
clip de pelcula principal no se copian en el clip de pelcula duplicado. Si se elimina el
clip de pelcula principal tambin se elimina el clip de pelcula duplicado. Utilice la
accin o el mtodo removeMovieClip para eliminar una instancia de clip de pelcula
creada con duplicateMovieClip. El nivel de profundidad es el orden de apilamiento que
determina como aparecen cuando se superponen los clips de pelcula y otros objetos. Al
primer clip de pelcula que cree o la primera instancia que arrastre al Escenario, se le
asigna una profundidad de nivel 0. Debe asignar a cada clip de pelcula sucesivo o
duplicado un nivel de profundidad diferente para evitar que sustituya a pelculas en los
niveles ocupados o al clip de pelcula original.

El ejemplo ms claro de
esta accin es sin duda el ejemplo de
clip de pelcula duplicado contenido
en las muestras que el Flash 5
contiene.
Nosotros vamos a realizar
este mismo ejercicio paso a paso,
porque es una forma muy clara y
bonita de aprender a usar estas
acciones tan compliacadas.

Curso ActionScript

removeMovieClip(removeMovieClip(destino);).- Elimina una instancia de


clip de pelcula creada con los mtodos attachMovie o duplicateMovieClip del objeto
MovieClip o con la accin attachMovie.

setProperty (setProperty(destino, propiedad, expresin) ).- Cambia la


propiedad de un clip de pelcula mientras se reproduce la pelcula.
startDrag (startDrag(destino);).- Hace que el clip de pelcula destino se
pueda arrastrar mientras se reproduce la pelcula. Slo un clip de pelcula puede
arrastrarse al mismo tiempo. Una vez que se ha ejecutado una accin startDrag, el clip
de pelcula permanece arastrable hasta que se detiene especficamente por una accin
stopDrag o hasta que se llama a una accin startDrag de otro clip de pelcula.
stopDrag ( stopDrag ( ); ).- Detiene la operacin de arrastre actual.
Funciones
getProperty ( getProperty (nombre_instancia, propiedad); ).- Devuelve el
valor de la propiedad especificada para la instancia de clip de pelcula.

int ( int (valor); ).- convierte un nmero decimal en su valor de nmero entero
ms cercano.

Number ( Number (expresin); ).- Convierte el argumento "x" en un nmero


y devuelve un valor.

random ( random (valor); ).- Devuelve un nmero entero aleatorio entre 0 y


el nmero entero especificado en el argumento valor.

Curso ActionScript

Ejercicios
Ejercicio 1.- Controlador de fotogramas: Para moverse a travs de la pelcula,
hay que manejar las acciones gotoAndPlay, Start y Stop. En este ejercicio vamos a ver
cuatro tipos de botones que controlan el avance o retroceso de las pginas de la pelcula.
Primero debemos hacer un fondo base en el que vamos a colocar los botones, los clip de
pelcula que queramos para adornar nuestro proyecto y los textos que vamos a colocar.
En el fotograma clave en la lnea de tiempo, le abrimos el panel de acciones y le
aadimos la accin de Stop. Esta accin permite el control de la lnea de tiempo a
nuestro antojo, movindonos por la pelcula por medio los botones y no una
reproduccin incontrolada. En este fotograma colocamos, por ejemplo, un texto de
presentacin. Seguidamente vamos a aadir otro fotograma clave a continuacin del
primero, al que tambin colocaremos una accin Stop y seguiremos configurando el
nuevo texto de este fotograma. El trabajo quedara de la siguiente manera:
Para programar los botones, primero hay que distinguir que hay dos tipos de
botones, los que avanzan o retroceden de uno en uno, o los que te situan al principio o al
final de la pelcula.
Para crear los botones vamos a seguir los siguientes pasos:
Cree los botones que vamos a utilizar.
Seleccione el clip de pelcula en el escenario.
Seleccione Ventana > Acciones para abrir el panel Acciones de objeto.
En la lista de la Caja de herramientas, seleccione gotoAndPlay y
arrastrelo a la ventana Script.
Desplegamos la pestaa de Tipo y seleccionamos Fotograma Siguiente.
En lugar de aparecer escrita la accin gotoAndPlay aparece nextFrame( );
Para el botn de retroceder uno elegimos Fotograma Anterior. En lugar
de aparecer escrita la sentencia gotoAndPlay aparece prevFrame( );
Para el botn de inicio elegimos gotoAndPlay (1).
Para el botn de final elegimos gotoAndPlay (5). En mi caso son cinco
fotogramas claves los que hay.

Ejercicio 2.- Control de Movimiento de un Clip de Pelcula: En este


ejercicio vamos a trabajar con las acciones de tellTarget, Play y Stop para los clip de
pelculas.
Vamos a crear un clip de pelcula animado. Vamos a hacer una bola que de la
sensacin de respiracin. Lo primero es dibujar una esfera en el fotograma, la que
convertimos en clip de pelcula. Creamos la interpolacin de movimiento para el clip.
Ahora trasformaremos el clip de pelcula en una instancia para poder trabajar con ella.
Siempre hace falta trabajar con instancias cuando usamos la accin de tellTarget. Nos
colocamos sobre la bola y le damos al botn derecho. En la pestaa de paneles
escogemos instancia y aparecer una paleta como la siguiente:

Curso ActionScript

En la pestaa de nombre, escribimos el


nombre con el que vamos a conocer a la
instancia. A esta instancia la vamos a llamar
"bola".
No es lo mismo instancia que nombre del
clip de pelcula
Esto es una manera de crear un objeto
virtual en flash.
Ahora creamos dos botones, uno para parar el movimiento y otro para
reanudarlo. La configuracin de los dos botones es muy parecida. Para el botn de
parar, seleccionamos el panel de acciones y pinchamos en la accin de tellTarget, en la
pestaa de "destino" pondremos el nombre de la instancia que hemos creado, pero
empezando por una barra inclinada (/bola). seguidamente seleccionamos la accin Stop
del panel de acciones bsicas. Para el botn de reanudar la animacin en lugar de Stop
elegimos Play. As nos tiene que quedar la configuracin de los botones de la siguiente
manera:
on (release){ tellTarget ("/bola"){Stop( );}}
on (release){tellTarget ("/bola"){Play( );}}

Ejercicio 3.- Clip de pelcula duplicado: Este ejercicio es bastante complejo;


aqu usaremos las acciones duplicateMovieClip, removeMovieClip, setProperty y nos
adelantamos a dar las funciones getProperty y setVariable y el operador de cadena add.
Primero creamos un clip de pelcula rectngulo, que gire y cambie de colores,
para que se vea mas claramente los efectos de duplicateMovieClip. Accedemos al panel
de instancia y lo llamamos "caja".
Vamos a crear hasta un mximo de 10 elementos iguales en la pelcula. Vamos
a tener que declarar una variable "n" con la que vamos contando el numero de
elementos que vamos creando, y que tambin nos va a servir para llamar a las nuevas
instancias que vamos creando durante la pelcula, ya que durante la ejecucin no
podemos acceder a ellas. En la primera capa abrimos el panel de acciones,
seleccionamos la accin setVariable, con lo que declaramos e inicializamos la variable
"n".
Botones.- Vamos a usar dos botones, uno para crear un nuevo clip de pelcula
y otro para eliminarlos.
Botn de aadir clip: lo primero que hay que hacer en este botn es declarar
una variable con las que vamos nombrando las instancias nuevas. Como la variable n es
una variable numrica, lo que tenemos que hacer es pinchar en setVariable, declarando
la variable ctot, que toma el valor "caja" y le aadimos el nmero n-simo que hace
falta. Esta accin queda de la siguiente manera: ctot = "caja" add n;
Hay que habilitar la opcin de expresin a la derecha de la pestaa de valor, ya
que no trabajamos con un nmero sino con una cadena de caracteres.
Ahora aadimos la accin de duplicateMovieClip y en la pestaa de destino
ponemos caja, en la de Nmb (nombre) ponemos ctot, y en la profundidad colocamos n.

Curso ActionScript

Cambiamos la posicin de la nueva instancia que hemos creado por medio de la


accin setProperty, en la que el destino es ctot, la propiedad es _x(X Position) y el valor
es la posicin actual de la instancia ms el numero de clip que hemos creado por la
anchura del clip, para que no se nos superpongan unas con otras.
Seguidamente aumentaremos en uno el valor de la variable "n".
La progamacin del botn ser la siguiente:
on (press){ ctot = "caja" add n;
duplicateMovieClip ("caja", ctot, n);
setProperty (bn, _x, Number(getproperty(bn, _x)) +
Number(n*(getproperty(bn, _width))));
n = Number(n) +1;
}
Botn de quitar clip: Con este botn vamos a ir quitando los clip de
pelculas que hemos ido haciendo, pero nos vamos a quedar con el primero que hemos
ceado. Para esto hay que evaluar cual es el nmero de clip de pelcula que hay en la
pelacula con una sentencuia "if" que nos diga si nos queda un slo clip o ms. Despus
disminuiremos la variable "n" y quitaremos la instancia n-sima del sistema. Esto nos
debe quedar de la siguiente manera:
on (press){ if (Number(n)>1){ n = n-1;
ctot = "caja" add n;
removeMovieClip (ctot);}
}

Ejercicio 4.- Campo de Texto desplazable.- Puede utilizar las propiedades


scroll y maxscroll para crear un campo de texto desplazable. En el panel Opciones de
texto, puede asignar una variable a cualquier campo de texto establecido como
Introduccin de texto o Texto dinmico. El campo de texto acta como una ventana que
indica el valor de esa variable. Cada variable asociada con un campo de texto tiene una
propiedad scroll y una propiedad maxscroll . Puede utilizar estas propiedades para
desplazar texto
en un campo de texto. La propiedad scroll devuelve el nmero de la lnea superior
visible en un campo de texto y puede establecerla o recuperarla. La propiedad maxscroll
devuelve la lnea superior visible de un campo de texto cuando la lnea inferior est
visible, puede leer, pero no establecer esta propiedad.
Para crear un campo de texto con desplazable:
Arrastre un campo de texto al Escenario.
Seleccione Ventana > Paneles > Opciones de texto.
Elija Introduccin de texto en el men emergente.
Introduzca el nombre de variable text en el campo Variable.
Arrastre la esquina inferior derecha del campo de texto para cambiar el tamao
del campo de texto.
Seleccione Ventana > Acciones.
Seleccione el fotograma 1 en la Lnea de tiempo principal y asigne una accin
set variable que establezca el valor de text .
Curso ActionScript

Seleccione Ventana > Bibliotecas comunes > Botones y arrastre un botn


hasta el Escenario.
Pulse Alt y arrastre el botnpara crear una copia.
Seleccione el botn superior y elija Ventana > Acciones.
Arrastre la accin set variables desde la caja de herramientas hasta la ventana
Script en el panel Acciones.
Introduzca text.scroll en el cuadro Variable.
Introduzca text.scroll -1 en el cuadro Valor y active la casilla de verificacin
Expresin.
Seleccione el botn de flecha hacia abajo y asigne la siguiente accin
set variables : text.scroll =text.scroll+1;
Seleccione Control > Probar pelcula para comprobar el campo de texto
desplazable.

Ejercicio 5.- Deteccin de Colisiones entre dos clip de pelculas.- Para


realizar la deteccin de colisin en dos clips de pelcula:
Arrastre dos clips de pelcula al Escenario y asgneles los nombres de instancia
mcHitArea y mcDrag.
Cree un campo de texto en el Escenario e introduzca status en el cuadro
Variable opciones de texto.
Seleccione mcHitArea y elija Ventana > Acciones.
Haga doble clic sobre evaluate en la caja de herramientas.
Introduzca el siguiente cdigo en el cuadro Expresiones seleccionando
elementos de la caja de herramientas: _root.status=this.hitTest(_root.mcDrag);
Seleccione la accin onClipEvent en la ventana Script y elija enterFrame
como el evento.
Seleccione mcDrag y elija Ventana > Acciones.
Haga doble clic sobre startDrag en la caja de herramientas.
Active la casilla de verificacin Bloquear ratn en el centro.
Seleccione la accin onClipEvent en la ventana Script y elija el evento Mouse
down .
Haga doble clic sobre stoptDrag en la caja de herramientas.
Seleccione la accin onClipEvent en la ventana Script y elija el evento Mouse
up .
Seleccione Control > Probar pelcula y arrastre el clip de pelcula para
comprobar la deteccin de colisin.

Curso ActionScript

You might also like