Post on 18-Nov-2014
description
Dirección de Educación y
Empleo Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 1 / 109
DESARROLLO DE APLICACIONES EDUCATIVAS ACCESIBLES EN FLASH
11.. IINNTTRROODDUUCCCCIIÓÓNN
Flash es una herramienta de desarrollo de animaciones
interactivas para la web.
Si bien en sus primeras versiones sólo se usaba para crear
pequeñas animaciones “decorativas” para las páginas web, o para
crear banners publicitarios, en la actualidad y debido en gran medida
al aumento del ancho de banda, y la mayor potencia de las máquinas,
pero sobre todo al espectacular incremento de las posibilidades que
ofrece Flash, hoy en día su uso es masivo siendo muchos los sitios
web desarrollados en su totalidad con esta tecnología.
Haciendo un poco de historia, todo comenzó hace unos once
años, cuando Macromedia lanzó al mercado la primera versión de
Flash, si bien en nuestro país no empezó a popularizarse su uso hasta
la versión 4. Esta versión si bien gráficamente tenía bastante
potencia, no ocurría lo mismo con la interactividad para el usuario, ya
que el lenguaje de programación con que contaba, era bastante
pobre.
Posteriormente aparecieron más versiones, la 5 y la 6, que iban
introduciendo mejoras en todos los aspectos de la herramienta, pero
fue con la aparición de la versión MX 2004 (versión 7) donde la
herramienta da un gran salto cualitativo. Entre las mejoras que
aporta esta versión se pueden destacar las siguientes:
- Interface de usuario mejorada, y mucho más sencilla e intuitiva
- Mayor potencia de las herramientas gráficas
- Una nueva versión de ActionScript (la 2.0) mucho más potente
Dirección de Educación y
Empleo Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 2 / 109
- Se incluyen herramientas que permiten hacer desarrollos
accesibles.
La siguiente versión es Flash 8, la cual estudiaremos en este
curso, la cual aporta alguna mejora respecto a la MX 2004, sobre
todo y teniendo en cuenta lo que más nos afecta a nosotros, las
herramientas de accesibilidad tienen un comportamiento mucho más
estable y predecible que en la versión anterior.
Recientemente una vez que Adobe ha adquirido Macromedia, ha
lanzado al mercado lo que sería la versión nueve de Flash, llamada
comercialmente CS3, ya que Adobe integra todas sus herramientas
de diseño y desarrollo Web en este paquete denominado Creative
Suite 3.
Esta versión está encaminada a integrar todas las
herramientas, tanto las que tenía Adobe como las que ha adquirido
de Macromedia, pero además aporta algunas ventajas como una
nueva versión de ActionScript, así como herramientas para control de
vídeo mucho más potentes.
En este curso se explicará el funcionamiento de Flash 8, desde
las herramientas de diseño gráfico, hasta la utilización de ActionScript
2.0, haciendo hincapié en cómo se debe utilizar la herramienta para
desarrollar aplicaciones educativas accesibles para personas con
discapacidad visual.
22.. EELL IINNTTEERRFFAACCEE DDEE FFLLAASSHH
En este epígrafe veremos los elementos más importantes que
forman parte del interface de Flash, es decir, se explicará qué es cada
uno de los elementos que aparecen al abrir la aplicación, y qué nos
permite realizar cada uno de ellos.
Dirección de Educación y
Empleo Grupo ACCEDO
MENÚS
Al igual que la mayoría de aplicaciones, Flash dispone de una
barra de menús, desde la cual se puede acceder a la mayor parte de
la funcionalidad de la herramienta. Se trata de una barra de menús
bastante estándar por lo que sólo se hará referencia a las opciones de
menú que son propias de Flash, o las que hacen referencia a acciones
que se utilizan mucho cuando se usa la herramienta.
Veamos cuáles son los menús más destacados, así como las
opciones más relevantes de cada uno de ellos.
Menú Archivo
Cuenta con las opciones típicas del menú Archivo de cualquier
aplicación Windows, tales como Nuevo, Abrir, Guardar, Salir, etc,
pero además cuenta con una serie de opciones que son relevantes en
Flash, las cuales se explican más detenidamente a continuación:
- Importar
Esta opción nos permite importar cualquier archivo externo
(que sea de un formato aceptado por Flash), en la aplicación que
estamos desarrollando, bien al escenario o bien a la biblioteca de la
misma.
Si la importación se hace al escenario, el fichero también se
incorpora a la biblioteca de la aplicación.
- Exportar
Esta opción nos permite exportar películas de Flash o trozos de
ellas (Exportar película), o exportar imágenes estáticas, es decir
generar un fichero de imagen a partir de un fotograma de la película
Flash.
- Publicar
Es la opción que nos permite generar el “ejecutable” de nuestra
aplicación, es decir genera a partir del código fuente que hemos
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 3 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
generado un fichero que se podrá visualizar fuera del entorno de
desarrollo de Flash. Esta opción está muy ligada a la siguiente.
- Configuración de publicación
Con esta opción se pueden definir los tipos de ficheros que se
van a generar, así como las propiedades de los mismos. Es una
herramienta muy importante ya que ayuda a generar “ejecutables”
de una forma sencilla, y además permite a los usuarios expertos
optimizar esos programas generados mediante las propiedades de los
tipos de ficheros.
Al seleccionar esta opción se abre una ventana en la cual
podemos seleccionar de los tipos disponibles, qué tipos de ficheros
queremos generar a partir de nuestra película, y una vez
seleccionados podemos realizar la publicación directamente desde
esta ventana.
Menú Insertar
Desde este menú se puede controlar la inserción y supresión de
símbolos, capas, fotogramas y escenas de la película que estemos
desarrollando. Veamos cuáles son sus opciones:
- Nuevo símbolo
Mediante esta opción podemos crear un símbolo nuevo para ser
utilizado en nuestra película. Dada la gran importancia de los
símbolos en Flash dedicaremos más adelante un apartado exclusivo
para este tema.
- Línea de tiempo
Mediante esta opción se pueden insertar varios elementos en la
línea de tiempo, tales como capas, fotogramas o interpolaciones de
movimiento. Todos estos elementos serán estudiados en mayor
profundidad en el apartado de Línea de tiempo.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 4 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
- Efectos de línea de tiempo
Mediante esta opción podemos modificar la apariencia de
cualquier objeto del escenario, o añadir un efecto visual.
- Escena
Con esta opción podemos insertar nuevas escenas en la película
que estamos desarrollando. Las escenas sirven para organizar la
película y hay que tener en cuenta que toda escena nueva comienza
con un escenario en blanco. Solamente el fondo de la película, si no
es blanco, se traspasa de escena a escena.
Menú Modificar
Este menú permite realizar modificaciones a prácticamente
cualquiera de los elementos que componen una película Flash,
veremos las opciones más destacadas con las que cuenta:
- Documento
Al seleccionar esta opción se abre el panel de propiedades de
documento, desde donde podemos personalizar las propiedades del
documento, tales como: dimensiones, velocidad de fotogramas,
unidades de regla, etc.
- Convertir en símbolo
Mediante esta opción podemos convertir un objeto de nuestra
película en un nuevo símbolo, es otra forma de crear un símbolo.
- Separar
Esta opción sirve para separar los píxeles de un mapa de bits.
Menú Ventana
Este menú permite visualizar en pantalla las diferentes
ventanas con que cuenta Flash, las cuales normalmente se llaman
paneles.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 5 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Más adelante veremos en profundidad los paneles más
importantes con que cuenta Flash, y los que pueden ser de mayor
utilidad con el fin de aumentar la rapidez en el desarrollo de películas.
HERRAMIENTAS DE DIBUJO
Es la barra de herramientas que se encuentra a la izquierda de
la pantalla, es de suma importancia en Flash, ya que mediante este
conjunto de herramientas podemos realizar el diseño gráfico de los
elementos que van a formar parte de la película.
Se trata de un conjunto de herramientas de dibujo las cuales
son similares a las de la mayoría de aplicaciones de diseño gráfico. A
continuación veremos las más importantes:
Herramienta línea
Permite dibujar una línea recta desde el punto del escenario en
el que se encuentra el puntero del ratón al presionar el botón
izquierdo del ratón, hasta el punto del escenario en el que se
encuentre el puntero del ratón al soltar el botón izquierdo del mismo.
Mediante el panel de Propiedades se puede cambiar el color de
trazo, su grosor, etc.
Herramienta Lápiz
Con esta herramienta podemos dibujar una forma libre,
manteniendo pulsado el botón izquierdo del ratón, lo interesante en
este aspecto, es la función de “Reconocimiento de formas” de Flash,
mediante la cual se reconoce la forma que se va creando y esta se
perfecciona automáticamente.
Las opciones de esta función de “reconocimiento de formas” son
tres Enderezar, Suavizar y Tinta y podemos acceder a ellas en la
parte inferior de la barra de herramientas de dibujo.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 6 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Herramienta Óvalo
Mediante esta opción podemos dibujar un óvalo, si se mantiene
pulsada la tecla de mayúsculas mientras arrastramos el puntero del
ratón, se dibujará un círculo perfecto.
Un aspecto importante en Flash, es que una vez dibujada una
forma el relleno y el contorno se tratan por separado, con lo cual se
puede cambiar por ejemplo, el color de alguno de ellos manteniendo
el del otro.
Herramienta Rectángulo
Funciona exactamente igual que la anterior, pero en vez de
óvalos y círculos se dibujan rectángulos y cuadrados.
Herramienta Texto
Mediante esta herramienta podemos crear un texto en el
escenario, y mediante el panel de propiedades podremos cambiar sus
características, tales como color del texto, tipo de fuente, tamaño de
fuente, etc.
En Flash podemos crear tres tipos distintos de textos, que son
los siguientes:
- Texto estático
Es el texto que no va a cambiar durante toda la película, ni por
parte del usuario, ni mediante programación.
- Texto dinámico
Es el texto que puede variar durante la ejecución de la película,
pero sólo mediante programación, es decir no es un campo editable
por parte del usuario.
- Introducción de texto
Es un campo de edición en el cual el usuario introducirá datos,
con lo cual este tipo sí que es editable en tiempo de ejecución.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 7 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Herramienta Transformación libre
Con esta herramienta se puede transformar un objeto
seleccionado en el escenario, ya sea un texto, una figura o una
imagen.
Al hacer clic sobre la herramienta aparecerán unos selectores
alrededor del objeto seleccionado mediante los cuales podremos:
- Alargar/encoger verticalmente
- Alargar/encoger horizontalmente
- Alargar/encoger transversalmente
- Rotar
Herramienta Bote de tinta
Se utiliza para cambiar los atributos de líneas y contornos. Es
muy útil cuando se necesitan variar los atributos de varios objetos a
la vez.
Herramienta Cubo de pintura
Es similar a la anterior pero se utiliza para cambiar los atributos
de los rellenos de las formas.
Es necesario recordar que Flash trata independientemente el
contorno y el relleno de una forma.
Herramienta Transformar relleno
Mediante esta herramienta se puede cambiar el relleno de una
forma, siempre que dicho relleno sea un degradado. Se puede
cambiar el centro de un degradado, así como los extremos del
mismo.
Herramienta Cuentagotas
Mediante esta herramienta podemos copiar atributos de
rellenos o de contornos en otros elementos similares. Es muy útil ya
que de una forma muy rápida podemos copiar las propiedades de por
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 8 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
ejemplo un relleno, en otro objeto que vaya a tener el mismo relleno,
sin falta de volver a darles valor una a una.
Herramienta Borrador
Esta herramienta permite borrar objetos en el escenario, o
parte de ellos. Es necesario señalar que no actúa sobre mapas de
bits, solamente sobre formas vectoriales.
PANELES
La herramienta de desarrollo nos ofrece la posibilidad de
trabajar con distintas ventanas (paneles), las cuales podemos tener
disponibles en la pantalla, agrupar, ocultar, etc. Esto nos permite
realizar el trabajo de desarrollo de una forma mucho más rápida que
accediendo continuamente a los menús.
Los paneles se pueden hacer visibles mediante el menú
Ventana, y una vez abiertos podremos minimizarlos, agruparlos, o
cerrarlos cuando deseemos.
En este apartado veremos los más importantes y que se usan
con más frecuencia, posteriormente se estudiarán los paneles
relativos a cada apartado del curso que sean necesarios.
Los cuatro paneles que con más frecuencia se usan en Flash
son los siguientes:
Muestras de color
Este panel nos permite seleccionar colores para el relleno o el
contorno de las formas que creamos en Flash.
Tiene dos partes, la de arriba es la paleta de colores sólidos, y
la de abajo la de los degradados que hayamos utilizado en nuestra
aplicación.
Desde este panel se pueden realizar acciones sobre la paleta de
colores, tales como añadir un color, eliminarlo, reemplazar colores,
etc.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 9 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Mezclador de colores
Este panel es semejante al anterior, y de hecho suelen
agruparse. Sirve para lo mismo que el de Muestras de color, y
además permite la creación de nuevos degradados, al gusto del
desarrollador.
Propiedades
Este panel es muy importante en Flash, ya que en él aparecen
las propiedades más relevantes del elemento que esté seleccionado.
Desde esta ventana podemos modificar de una forma rápida y
sencilla las propiedades de los objetos, tales como su posición en el
escenario, su color, tipos de letra, en el caso de los textos.
No veremos qué propiedades aparecen en este panel para cada
tipo de objeto, pero es muy importante tener presente que sea cual
sea el objeto al que queremos cambiar alguna propiedad, basta con
seleccionarlo en el escenario y abrir este panel.
Biblioteca
Probablemente junto con el anterior, y el panel de Acciones sea
el más importante en Flash.
La biblioteca es el lugar donde se guardan todos los objetos que
utilizamos en la película Flash, tanto los que creamos nosotros
mismos como los que se importan, por ejemplo imágenes o sonidos.
La ventana de la biblioteca se compone de dos partes, en la
parte inferior aparece una lista de todos los objetos que contiene la
biblioteca, ordenados alfabéticamente, y en la parte superior aparece
una vista del elemento que esté seleccionado en la lista.
Para insertar un objeto en el escenario, simplemente se
selecciona de la lista, y luego se arrastra desde la ventana superior al
lugar del escenario en el que se quiera insertar.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 10 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Pinchando con el botón derecho del ratón en cualquier elemento
de la lista se despliega un menú desde el cual se pueden realizar
acciones sobre ese elemento, tales como editarlo, duplicarlo,
eliminarlo de la biblioteca.
Una de las opciones importantes que se pueden realizar es la
Vinculación, de extrema relevancia en el caso de los sonidos ya que
como veremos más adelante de esto depende que luego el código
ActionScript, que maneja estos sonidos funcione correctamente.
Una ventaja que aporta la biblioteca es que se puede exportar y
compartir con otros proyectos con lo cual podremos reutilizar
elementos en futuros desarrollos sin necesidad de volver a crearlos.
Por último destacar que dentro de la biblioteca es posible
agrupar los objetos que la componen en carpetas, lo cual permite
trabajar con ellos de una forma más cómoda y ordenada.
A lo largo de este curso volveremos a referirnos en muchas
ocasiones a la biblioteca, y se incidirá en la forma de utilizarla.
ESCENARIO
¿Qué es el escenario?
Como ya hemos visto anteriormente lo que se genera en Flash
son películas, y como tales uno de sus elementos fundamentales es el
escenario.
El escenario es el lugar donde se desarrolla toda la película, es
decir ahí se colocan los objetos que forman parte de la animación, y
es donde el usuario interactúa con la aplicación
Realmente todo lo que está en el escenario es lo que se va a
ver en la pantalla cuando ejecutemos nuestra aplicación, pero puede
haber objetos fuera del escenario, los cuales realicen acciones, sin
embargo estos objetos no serán visibles en tiempo de ejecución.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 11 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
El escenario es el rectángulo blanco que aparece en el centro de
la pantalla cuando creamos un documento nuevo en Flash
Propiedades
Realmente las propiedades del escenario son las propiedades
del documento de Flash, y para poder modificarlas la forma más
rápida de acceder a la ventana correspondiente es pinchar con el
botón derecho del ratón en el escenario, y en el menú contextual
elegir la última opción Propiedades, la cual podemos ver en la figura
1, y desde la cual podemos cambiar los valores de las propiedades
del escenario.
Figura 1: Ventana de propiedades del escenario
Veamos cuáles son las propiedades más relevantes sobre las
que podemos actuar:
Título: Es el título que queramos darle a la película
Descripción: En este campo podemos escribir toda la
información que queramos relativa a la película.
Estas dos propiedades son para aportar información al
navegador
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 12 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Dimensiones: Son las medidas de ancho y alto que va a tener la
película.
Coincidir: Sirve para hacer coincidir las dimensiones de la
película con las medidas de la página de la impresora, o con el
contenido de los fotogramas. En este último caso hay que tener
cuidado con los objetos que colocamos fuera del escenario, ya que si
hacemos que la película coincida con el contenido, se visualizarán
todos los elementos existentes, tanto si están dentro o fuera del
escenario.
Lo aconsejable es seleccionar la opción Predeterminada.
Color de fondo: Establece el color de fondo del escenario para
toda la película.
Velocidad de fotogramas: La película que se genera en Flash
está compuesta por una serie de fotogramas que se van visualizando
uno tras otro, mediante esta propiedad podemos establecer la
velocidad a la que se van a reproducir los fotogramas. El valor por
defecto es 12 fps (fotogramas por segundo).
Unidades de regla: Permite establecer las unidades con las que
queremos que aparezcan las reglas, pulgadas, centímetros, píxeles,
etc.
Transformar en predeterminada: Este botón permite que los
valores que tienen las propiedades en ese momento se adopten como
predeterminados para futuras películas que se generen.
LÍNEA DE TIEMPO
Cómo ya hemos visto, una aplicación desarrollada en Flash no
es más que una película, y tal como las películas de cine, no es más
que una sucesión de fotogramas que se van visualizando
sucesivamente.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 13 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Por tanto es imprescindible en la fase de desarrollo tener
alguna herramienta que permita controlar esa sucesión de
fotogramas, para esto Flash dispone de la línea de tiempo
La línea de tiempo se sitúa por defecto encima del escenario, y
los elementos básicos que la componen son los fotogramas y las
capas. Además también dispone de una cabeza lectora, la cual se
puede mover a lo largo de todos los fotogramas, pulsando Enter, o
bien arrastrarla con el ratón. Con estas acciones podemos “probar” la
película ya que podemos ver cómo va cambiando el escenario según
van apareciendo y desapareciendo los fotogramas en su orden
correspondiente.
Fotogramas
Son el elemento fundamental de la línea de tiempo, y
realmente son los que contienen los objetos que se van a visualizar,
además del código que dota de interactividad a esos objetos.
En la línea de tiempo se representan por un rectángulo, y cada
uno tiene su número de orden de visualización correspondiente. Para
poder conocer este número, la línea de tiempo muestra cada cinco
fotogramas su número correspondiente, es decir, el 5, el 10, etc, de
esta forma visualmente podemos identificar el número de todos los
fotogramas que forman parte de la película.
Los fotogramas pueden contener objetos o estar vacíos, si
están vacíos se representan en la línea de tiempo en color blanco, y si
contienen algún objeto en color gris.
Por último existen dos tipos de fotogramas, los simples, que
pueden contener objetos o estar vacíos, y los fotogramas clave.
Los fotogramas clave son de extrema importancia, ya que
realmente son los que contienen información, tal como acciones, es
decir son los que contienen el código de la aplicación, y además en el
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 14 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
aspecto gráfico son los que marcan que hay cambios en los objetos
que contienen, ya sean de forma de posición, etc.
Estos fotogramas se pueden identificar en la línea de tiempo de
forma sencilla, ya que contienen un círculo negro en la parte inferior.
Si además el fotograma clave contiene código ActionScript, aparecerá
un círculo vacío en la parte superior.
Se pueden realizar todas las acciones con fotogramas de una
forma rápida y sencilla mediante el menú que se despliega al hacer
click con el botón derecho del ratón sobre un fotograma. Desde este
menú podemos insertar fotogramas, borrarlos, convertirlos en
fotograma clave, etc.
Para introducir código ActionScript en un fotograma clave
simplemente se selecciona en la línea de tiempo, y se abre el panel
de Acciones, todo el código que se escriba pasará a formar parte de
ese fotograma.
Las propiedades de un fotograma se pueden modificar en el
panel de Propiedades, una vez que está seleccionado el fotograma en
la línea de tiempo.
Desde aquí se puede asignar una etiqueta al fotograma, dotarle
de animación, esto no es más que crear una interpolación de forma o
de movimiento en el fotograma (esto se verá más adelante), y por
último podemos poner un sonido en el fotograma.
Para introducir un sonido en el fotograma, el sonido debe estar
previamente en la biblioteca, y además se pueden añadir efectos a
este sonido, también especificar el número de veces que se va a
repetir, a partir de qué evento se va a reproducir el sonido, etc.
Capas
Este es un concepto eminentemente gráfico y es una técnica
comúnmente utilizada por herramientas de diseño gráfico.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 15 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Con el fin de simplificar, se puede decir que una capa es como
un escenario transparente en el cual se pueden dibujar objetos, y que
se sitúa sobre el escenario real, por tanto y al ser transparente, se
pueden visualizar los objetos que están en el escenario real (por
debajo), salvo los que estén “tapados” por los objetos que están en la
capa.
Para ilustrar el concepto, se puede pensar en una transparencia
colocada sobre el escenario. Los dibujos que contenga la
transparencia taparán lo que hay en el escenario, pero en las parte
en que la transparencia no tenga nada, se podrá ver lo que hay en el
escenario.
En Flash se trabaja mucho con capas, y cada fotograma puede
tener tantas como se necesiten.
Las capas aparecen en la línea de tiempo, a la izquierda, con
sus respectivos nombres, y herramientas para crearlas, eliminarlas,
hacerlas visibles, bloquearlas, etc.
Las capas aparecen una encima de otra según su orden de
creación, pero este orden se puede modificar en todo momento, sin
más que arrastrar la capa con el ratón al lugar deseado.
Su uso es muy importante en el caso de que se necesite ocultar
algún objeto durante la ejecución de la película, ya que esto se puede
realizar de una forma sencilla trabajando correctamente con capas,
también se puede usar para hacer aparecer determinados objetos
dependiendo de cómo interactúe el usuario con la película.
En definitiva son un elemento muy importante en Flash, y
facilitan mucho el trabajo, si bien requiere un poco de tiempo y
práctica entender la filosofía de su funcionamiento.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 16 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Interpolaciones
Son fundamentales para dotar de animación a objetos de una
película Flash.
Lo que hace una interpolación es crear una animación, es decir
dotar de movimiento a un objeto del escenario. Esto se podría hacer
colocando en cada fotograma el objeto en la posición que le
corresponda dentro del camino que queremos que recorra, pero como
esto sería bastante tedioso, Flash nos ofrece la herramienta
Interpolación, a la cual simplemente debemos darle la posición del
objeto en el fotograma inicial, y su posición en el final, y Flash
generará automáticamente los fotogramas intermedios. Por tanto
esta herramienta nos permite ahorrar mucho tiempo en desarrollo.
Existen dos tipos de interpolaciones, las de forma y las de
movimiento, básicamente funcionan igual, sólo se diferencian en los
objetos a los que se aplican, las primeras se usan con formas
primitivas en el escenario, y las segundas con instancias de símbolos
(los cuales se estudiarán en el siguiente apartado).
Construir una interpolación es una tarea bastante sencilla,
veamos cómo se puede hacer una simple interpolación de forma:
- En el fotograma 1 dibujamos un cuadrado en la parte izquierda
del escenario.
- Pinchamos en el fotograma 20 con el botón derecho del ratón, y
en el menú contextual seleccionamos Crear fotograma clave.
- Ahora en el fotograma 20 tenemos el mismo cuadrado que en
el 1, arrastramos ese cuadrado a la parte derecha del escenario
(en el fotograma 20)
- Pinchamos en el fotograma 1 y abrimos el panel Propiedades.
- En el menú desplegable Animar seleccionamos Forma, en este
momento cambia el aspecto de los fotogramas del 1 al 20 en la
línea de tiempo, y aparece en ellos una flecha desde el 1 al 20.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 17 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 18 / 109
- Si probamos la película veremos que el cuadrado se mueve de
izquierda a derecha.
De esta forma sencilla se pueden realizar pequeñas
animaciones.
Las interpolaciones de movimiento se realizan del mismo modo
salvo que debemos tener en cuenta que actúan sobre instancias de
símbolos y no sobre formas.
En la misma capa se pueden concatenar varias interpolaciones
con el fin de conseguir que el objeto pase por determinados puntos a
lo largo de la ejecución de la película
Por último es necesario resaltar que las interpolaciones pueden
modificar la forma de un objeto, además de su posición.
33.. SSÍÍMMBBOOLLOOSS
Los símbolos son los elementos que guardamos en la biblioteca
para poder usarlos una o más veces en la película Flash.
Su gran importancia no sólo radica en que disminuyan el
tamaño del archivo final, además son fáciles de modificar desde la
biblioteca, y cualquier cambio que hagamos en un símbolo se hará
automáticamente en todas sus copias que hayamos utilizado en la
película.
Existen tres tipos de símbolos: gráficos, botones y clips de
película.
En este apartado se verá cómo crear un símbolo, modificarlo,
además de las características propias de cada uno de los tres tipos de
símbolos de los que disponemos en Flash.
Para crear un nuevo símbolo, debemos seleccionar en el menú
Insertar la primera opción, Nuevo símbolo. En ese momento se abre
la ventana de Crear nuevo símbolo (figura 2), en esta ventana
Dirección de Educación y
Empleo Grupo ACCEDO
podemos darle un nombre al símbolo, por defecto aparecerá Símbolo
1, y seleccionar de qué tipo va a ser el símbolo.
Figura 2: Ventana de Crear un nuevo símbolo
Una vez que se pulsa el botón Aceptar, aparecerá el símbolo en
la biblioteca, y además cambiará el escenario, que ya no será el de la
película Flash, sino el de edición del símbolo.
En este momento podemos generar todos los contenidos que
formarán parte del símbolo.
A continuación se comentarán las características de cada uno
de los tres tipos de símbolos que se pueden crear.
GRÁFICOS
Son los símbolos más sencillos que se pueden crear en Flash.
Su característica principal es que están sincronizados con la línea de
tiempo de la película principal, esto significa que los fotogramas que
componen el símbolo se reproducen al mismo tiempo que los de la
película principal.
A estos símbolos no se les pueden aplicar acciones, ni filtros.
Su uso permite que se consuman menos recursos durante la
ejecución, ya que si tenemos una forma en varios fotogramas, Flash
dibuja esa forma en cada uno de los fotogramas cuando estos se
están reproduciendo, en cambio si esa forma es un gráfico Flash
simplemente debe dibujar una copia de éste, lo que optimiza los
recursos.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 19 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Son adecuados para mostrar imágenes estáticas o animaciones
muy simples.
Es importante prestar mucha atención al tema de la
sincronización, ya que si el gráfico es una imagen estática no
tendremos problemas, pero si el gráfico está compuesto por una
interpolación que dura un cierto número de fotogramas, la película
principal en la que se inserta deberá tener al menos ese número de
fotogramas, si tiene menos, la interpolación no se visualizará
completamente.
BOTONES
Los símbolos de tipo botón se diferencian de los otros dos tipos
de símbolos, en que poseen una línea de tiempo predefinida, en la
que no se pueden introducir instrucciones de ActionScript.
Son muy útiles, ya que ofrecen un modo rápido y sencillo de
permitir al usuario interactuar con la aplicación.
La línea de tiempo de un símbolo botón está compuesta por
cuatro fotogramas, que representan cuatro estados en los que puede
encontrarse el botón. El contenido de cada uno de los fotogramas es
lo que aparecerá en pantalla cuando el botón se encuentre en el
estado correspondiente.
Veamos cada uno de los cuatro estados:
- Reposo: Cuando el puntero del ratón no se encuentra sobre el
botón.
- Sobre: Cuando el puntero del ratón se encuentra sobre el botón
pero no se hace click.
- Presionado: Cuando se hace click sobre el botón.
- Zona activa: Es un estado no visible sirve para definir el área
activa, es decir la zona que detecta los demás estados.
Una vez que se hayan introducido elementos en los cuatro
fotogramas, el botón ya dispone de cierta interactividad, ya que
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 20 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
responderá a acciones del ratón. Pero la potencia de los botones en
cuanto a su interactividad con el usuario, se consigue con la
utilización de ActionScript, mediante lo cual podemos asignar un
conjunto de instrucciones, más o menos complejas, a cada uno de los
eventos que se asocian a un botón.
Por último también es muy útil la utilización de botones
invisibles, en realidad ésta es una forma de definir áreas de pantalla
activas. También se pueden usar para hacer que sólo algunas partes
de un dibujo sean activas, es decir que el usuario pueda interactuar
con ellas.
Un botón invisible es un botón normal y corriente, en el cual los
tres primeros estados no tienen nada, y sólo tiene contenido el
fotograma de Zona activa, con lo cual en tiempo de ejecución no
aparecerá en pantalla. Sin embargo podemos asociar código
ActionScript a cualquiera de los estados como con cualquier otro
botón.
CLIPS DE PELÍCULA
Son los símbolos más importantes, y los que más potencia
aportan a una aplicación Flash, de hecho la película principal de una
aplicación no es más que un clip de película, aunque no aparezca en
la biblioteca.
Realmente un clip de película es una película Flash que se crea
con la intención de ser usada dentro de otra película, o de otro clip de
película.
Los clips de película se caracterizan por poseer una línea de
tiempo que no tiene ninguna relación con la línea de tiempo de la
película principal, al contrario de lo que sucede con los gráficos.
Por otra parte se puede introducir código ActionScript en los
fotogramas que forman la línea de tiempo del clip de película, además
de soportar acciones sobre los objetos que la componen.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 21 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 22 / 109
La forma de generar un clip de película es similar a la de la
película principal de la aplicación, creando nuevos fotogramas,
usando fotogramas clave, interpolaciones. También se puede trabajar
con capas, insertar en el clip de película otros símbolos que estén
disponibles en la biblioteca, etc.
Los clips de película, una vez creados, e insertados en la
película principal, son capaces de recibir eventos y responder a ellos,
si bien este aspecto se verá más detenidamente en el apartado
dedicado a ActionScript.
En definitiva los clips de película son los símbolos más
importantes, y que más potencia aportan, por eso también son los
más usados. Reúnen todas las ventajas y funcionalidades que aportan
los otros dos tipos de símbolos. De hecho, un botón podría crearse
como un clip de película con cuatro fotogramas, y un gráfico por
supuesto también.
44.. AACCCCEESSIIBBIILLIIDDAADD UUTTIILLIIZZAANNDDOO RREEVVIISSOORREESS DDEE PPAANNTTAALLLLAA
En las primeras versiones de Flash, la accesibilidad para
personas con discapacidad visual no estaba en absoluto contemplada,
y por tanto los desarrollos en Flash eran desestimados a la hora de
realizar un desarrollo que se pretendía fuese accesible.
En cambio a partir de la versión Flash MX 2004 ya se integran
aspectos de accesibilidad, tales como una herramienta denominada
Panel de Accesibilidad, que permite dotar a algunos objetos de las
propiedades de accesibilidad a las cuales tendrá acceso un revisor de
pantalla.
Dirección de Educación y
Empleo Grupo ACCEDO
RESTRICCIONES EN CUANTO A LA ACCESIBILIDAD
En cuanto a la accesibilidad en Flash utilizando un revisor de
pantalla, en la actualidad existen varias restricciones que es
necesario tener en cuenta. Veamos cuáles son las más destacables:
- Flash se comunica con el revisor de pantalla a través del MSAA
(Microsoft Active Accessibility), por tanto una aplicación Flash
sólo podrá ser accesible en Windows y con un revisor de
pantalla compatible con MSAA.
- No todos los objetos de Flash soportan propiedades de
accesibilidad. De hecho sólo se pueden asignar propiedades de
accesibilidad a la película principal, textos dinámicos, botones y
clips de película.
- Para que el revisor de pantalla consiga acceder a la información
de accesibilidad de la película Flash, ésta debe publicarse en
formato HTML, y abrirse con Internet Explorer.
- No hay posibilidad de comunicar al revisor de pantalla que se
ha producido un cambio en la película Flash, y por tanto que lea
la nueva información de accesibilidad que pueda haber.
- Aunque se cambien los valores de las propiedades de
accesibilidad de un objeto, en tiempo de ejecución (esto se
puede realizar mediante ActionScript), Flash no comunica estos
cambios al revisor de pantalla.
- El visor de Flash, Flash Player, no soporta propiedades de
accesibilidad, y no tiene en cuenta las que pudieran tener los
objetos que forman parte de la película.
- Existe una clase que permite trabajar con la accesibilidad, pero
su funcionamiento no es el esperado.
PROPIEDADES DE ACCESIBILIDAD
Las propiedades que se pueden controlar en relación con la
accesibilidad son las siguientes:
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 23 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
- Descripción
- Orden de tabulación
- Hacer el objeto accesible o no
- Hacer los objetos que componen un determinado objeto
accesibles o no
Estas son las propiedades más relevantes, en el siguiente
apartado veremos todas las que existen y cómo trabajar con ellas.
Es necesario incidir en que no todos los objetos soportan
propiedades de accesibilidad, concretamente sólo son accesibles los
siguientes tipos de objetos:
- La película principal.
- Los textos dinámicos.
- Los símbolos de tipo botón.
- Los símbolos de tipo clip de película.
EL PANEL DE ACCESIBILIDAD
Es la herramienta que nos ofrece Flash para dar valor a las
propiedades de accesibilidad de los objetos que las soportan.
Para abrir este panel debemos seleccionar en el menú Ventana
la opción Otros paneles y en este submenú seleccionamos
Accesibilidad, también se puede abrir mediante la combinación de
teclas Alt+F12
El panel de accesibilidad tiene dos apariencias distintas
dependiendo que tengamos seleccionada la película Flash, o alguno
de los objetos que la componen. Si bien ambos son muy parecidos,
se estudiarán por separado.
Para una película Flash
Éste es el panel que se abre cuando el escenario tiene el foco y
se abre el panel de accesibilidad (Figura 3)
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 24 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Figura 3: Panel de accesibilidad para la película Flash
Veamos qué nos permite hacer cada uno de los elementos de
este panel:
- Permitir acceso a la película: Esta propiedad hace que la
película sea visible para el revisor de pantalla, es decir, éste
podrá acceder a información de la película para facilitársela al
usuario.
- Hacer que los objetos secundarios sean accesibles: Esta
propiedad permite que todos los objetos que forman parte de la
película sean accesibles, obviamente sólo los que sean
susceptibles de serlo. Esta propiedad es muy importante ya que
si no está verificada, los objetos no serán accesibles aunque
tengan propiedades de accesibilidad asociadas.
- Etiquetado automático: Esta propiedad hace que Flash les
ponga nombre automáticamente a los objetos accesibles, en el
caso de que el programador no se lo ponga. En general el
nombre automático que se le asigna al objeto es el de un texto
asociado al mismo, o el de su nombre de instancia.
- Conviene que los nombres sean asignados manualmente, ya
que serán más representativos del objeto y de su función.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 25 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
- Nombre: Es el nombre que leerá el revisor de pantalla cuando
el objeto reciba el foco. En el caso de la película este nombre se
leerá al principio de la misma.
- Descripción: Es el texto que leerá el revisor de pantalla. Se
leerá al principio de la película, después del nombre, si lo tiene.
Para los objetos que soportan opciones de accesibilidad
El panel de accesibilidad cambia ligeramente su apariencia en el
caso de que el foco esté situado en un objeto del escenario (el cual
debe ser susceptible de tener propiedades de accesibilidad).
Su apariencia es la que se muestra en la Figura 4.
Figura 4: Panel de accesibilidad para un objeto
Veamos lo que nos permite hacer cada uno de los campos de
este panel, los cuales son muy semejantes a los del panel para la
película.
- Hacer que el objeto sea accesible: Si está verificado, el revisor
de pantalla tendrá acceso a la información de accesibilidad del
objeto.
- Hacer que los objetos secundarios sean accesibles: Determina
si los objetos que forman parte del objeto van a ser accesibles
para el revisor de pantalla, u ocultos para él.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 26 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 27 / 109
- Nombre: Es el nombre del objeto (botón, clip, etc) que leerá el
revisor de pantalla
- Descripción: Es la descripción que leerá el revisor de pantalla
cuando el objeto reciba el foco.
- Método abreviado: Es una combinación de teclas rápidas
asociada al objeto. Es una información que leerá el revisor de
pantalla cuando el objeto reciba el foco, pero el funcionamiento
de esa combinación de teclas dentro de la aplicación Flash debe
programarse con ActionScript.
- Índice de fichas: Es el orden de tabulación del objeto. Sirve
para determinar en qué orden recibe el foco el objeto cuando la
aplicación se maneja con la tecla Tabulador.
Todas estas propiedades se pueden cambiar con código
ActionScript en tiempo de ejecución. Sin embargo las pruebas
realizadas con esta metodología no ofrecen resultados fiables.
En cuanto al comportamiento de Flash en relación a la
accesibilidad, se ha podido comprobar que el mejor mecanismo es
utilizar el Panel de Accesibilidad.
55.. AACCTTIIOONNSSCCRRIIPPTT 22..00
En este apartado se estudiará el lenguaje de programación
ActionScript en su versión 2.0, que es el que nos ofrece Flash 8.
¿QUÉ ES ACTIONSCRIPT?
ActionScript 2.0 es un lenguaje de programación orientado a
objetos, y es la herramienta fundamental que ofrece Flash 8 para
dotar de interactividad a los desarrollos que se generan con la
herramienta.
Es la herramienta que nos permite desarrollar películas en Flash
mucho más sofisticadas e interactivas, a la vez que aporta otras
ventajas, tales como:
Dirección de Educación y
Empleo Grupo ACCEDO
- Conseguir mayor control sobre los clips de película y sus
propiedades.
- Animar elementos programándolos, es decir, sin usar la línea
del tiempo.
- Importar y exportar datos en Flash.
- Crear proyectos que respondan al paso del tiempo, cambios de
fecha, etc.
- Controlar dinámicamente la reproducción de sonidos.
DIFERENCIAS ENTRE ACTIONSCRIPT Y JAVASCRIPT
Con la versión 2.0 de ActionScript, se ha acercado el lenguaje a
la más común programación con JavaScript, si bien se siguen
manteniendo algunas diferencias, en su mayor medida debido a la
compatibilidad necesaria entre ActionScript 2.0 y 1.0.
Las más destacadas son las siguientes:
- ActionScript no admite objetos específicos del navegador, para
referirse a ellos dispone de una acción especial FSCommand,
que veremos más adelante.
- No admite algunos de los objetos predefinidos de JavaScript.
- No admite el constructor function de JavaScript.
- La función eval de ActionScript sólo admite referencias de
variables.
- Admite algunas formas sintácticas que nos son permitidas en
JavaScript.
- ActionScript mantiene diferencias en el resultado undefined,
debido a la necesaria compatibilidad con ActionScript 1.0.
PANEL DE ACCIONES
Es el panel en donde podemos escribir el código ActionScript.
Se abre en el menú Ventana seleccionando la opción Acciones o con
la tecla rápida F9.
Su apariencia se muestra en la figura 5.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 28 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Figura 5: Panel de Acciones.
En este panel se pueden diferenciar cuatro partes, las cuales
veremos a continuación más detalladamente. Estas cuatro partes
son: la ventana de acciones, la referencia rápida, la ventana de
acceso a acciones y la barra de botones de la ventana de acciones.
Antes de introducir el lenguaje ActionScript veamos para qué
sirven y cómo se utilizan cada una de estas cuatro partes del panel
de Acciones.
Ventana de acciones
Es el lugar en el que se escribe el código ActionScript, es el
cuadrado blanco que aparece a la izquierda en el panel de Acciones.
Referencia rápida
Es la ventana que se muestra en la parte superior izquierda, y
muestra multitud de elementos de programación ordenados
jerárquicamente. Para insertar uno de estos elementos en el código,
sólo hay que hacer doble click sobre él o arrastrarlo sobre la ventana
de acciones.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 29 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Ventana de acceso a acciones
Se sitúa debajo de la Referencia rápida, y se trata de una
estructura en árbol donde se muestran todos los elementos de la
película que contienen código ActionScript.
Para ver el código correspondiente a un elemento, al hacer click
sobre dicho elemento su código aparecerá en la ventana de acciones.
Esta herramienta es muy útil, ya que una característica de Flash
es que el código ActionScript de una película no debe estar en un sitio
fijo, cada objeto, botón, clip de película, fotograma, puede tener su
propio código asociado, y mediante la ventana de acceso a acciones
se puede consultar o modificar de una forma rápida.
Barra de botones de la ventana acciones
Es la barra de herramientas que aparece en la parte superior de
la ventana acciones, y cuenta con los siguientes botones:
- Añadir un elemento al script: Muestra un menú con sus
correspondientes submenús, desde los cuales se pueden
introducir instrucciones en el script sin necesidad de escribirlas,
simplemente seleccionándolas en estos menús.
- Buscar: Muestra un cuadro de diálogo que nos permite localizar
palabras o secciones en el código, y si fuese necesario también
permite reemplazarlas.
- Insertar una ruta de destino: Muestra un cuadro de diálogo que
permite hacer referencias a objetos concretos del escenario,
desde ActionScript.
- Revisar sintaxis: Permite revisar el código en busca de errores
básicos.
- Formato automático: Activa o desactiva esta función.
- Mostrar consejos sobre código: Activa o desactiva esta función.
- Opciones de depuración: Sirve para depurar el código
ActionScript.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 30 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
- Asistente de script: Muestra una zona de asistencia en el panel
Acciones, que nos permite rellenar campos y opciones sin
necesidad de tener que memorizar la sintaxis de funciones o
métodos.
- Ayuda: Abre la ayuda sobre el elemento del código que esté
seleccionado.
EL LENGUAJE ACTIONSCRIPT
En este apartado se estudiará en profundidad el lenguaje
ActionScript, haciendo referencia a los elementos que lo componen
así como a su sintaxis.
Como ya se ha dicho anteriormente ActionScript 2.0 es un
lenguaje de programación orientado a objetos, por tanto el concepto
fundamental que maneja son los objetos, junto con sus propiedades,
métodos y eventos.
Antes de comenzar es necesario puntualizar que ActionScript
2.0 es un lenguaje Case Sensitive, es decir distingue entre
mayúsculas y minúsculas, por tanto no será lo mismo mivariable que
miVariable.
No es el objetivo de este curso el aprendizaje en profundidad de
ActionScript 2.0, sino el conocer sus elementos de forma básica, y
cómo utilizarlos para construir aplicaciones accesibles para usuarios
con discapacidad visual.
Veamos a continuación los elementos del lenguaje
Comentarios
Son líneas de código que no se ejecutan, pero que sí se pueden
ver en el entorno de desarrollo. Sirven para explicar en lenguaje
natural lo que hace el código propiamente dicho. Son útiles cuando se
cede el código a personas que no lo han generado, o para recordar el
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 31 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
funcionamiento del código una vez que ha pasado un tiempo desde su
generación.
Para indicar en ActionScript 2.0 que se introduce un comentario
se utiliza // y todo lo que vaya después, hasta el final de la línea será
interpretado como comentario.
Si el comentario va a ocupar varias líneas, o bien se escribe //
al principio de cada línea, o se escribe /* al principio del comentario y
*/ al final del mismo.
Veamos unos ejemplos:
// Este es un comentario de una línea
// Este es un comentario
// que ocupa
// varias líneas
/* Este es un comentario
que ocupa
varias líneas */
Palabras reservadas
Como cualquier otro lenguaje de programación ActionScript
cuenta con una serie de palabras reservadas, es decir un conjunto de
palabras que no se pueden utilizar a la hora de nombrar variables,
instancias de objetos, funciones, etc.
Las palabras reservadas en ActionScript 2.0 son:
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 32 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
break case class continue
default delete dynamic else
extends for function get
if implements import in
instanceof interface intrinsic new
private public return set
static switch this typeof
var void while with
Variables
Como en cualquier lenguaje de programación, un elemento
importante de ActionScript son las variables. Nos sirven para
almacenar datos temporalmente en memoria durante la ejecución. En
realidad lo que Flash hace al declarar una variable, es reservar un
espacio en el que va a haber un dato de un tipo determinado, y este
dato podrá ir cambiando su valor durante la ejecución del programa.
La declaración de una variable se realiza mediante la palabra
reservada var seguida del nombre que le queramos dar a la variable,
dos puntos y el tipo de dato que va a contener. La definición del tipo
es opcional y en caso de que no lo definamos en la declaración se le
asociará el tipo al que corresponda el valor que le asignemos. Es
conveniente definir el tipo de datos de la variable en la declaración ya
que clarifica el código.
Ejemplos de declaración:
var edad:Number;
var edad;
También se le puede asignar un valor a la variable en el
momento de la declaración, como en el ejemplo siguiente:
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 33 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
var edad = 25;
Una vez visto cómo se crean las variables es necesario recalcar
cuáles son las restricciones que existen en cuanto al nombre que les
podemos dar:
- No pueden contener ninguna palabra reservada del lenguaje.
- No pueden comenzar con dígitos.
- No pueden contener espacios en blanco.
- Solamente está permitido el guión bajo para unir palabras
dentro del nombre.
Por último, aunque como veremos más adelante una variable
puede contener cualquier tipo de dato, los tipos de datos básicos más
importantes que puede contener una variable son los siguientes:
- Number: Cualquier valor numérico de tipo entero o decimal.
- String: Cualquier información de tipo alfanumérico.
- Boolean: Es un valor booleano verdadero o falso (true o false).
- Array: Es una lista de datos, que pueden ser del mismo tipo (lo
habitual) o de distintos tipos.
De todas formas como veremos en los siguientes apartados
podemos asignar a una variable datos de otros tipos
Expresiones
Como ya se ha visto se puede asignar un valor a una variable
mediante el operador = pero en el caso de que este valor por ejemplo
dependa del valor de otra u otras variables necesitamos recurrir a las
expresiones.
Las expresiones se utilizan para dar valor a una variable cuando
ese valor depende de otra variable cuyo valor no se conoce a la hora
de utilizar la primera.
Por ejemplo si tenemos una variable edad que depende de otra
edad_padre pero en el momento de asignar valor a edad no
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 34 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
conocemos el valor de edad_padre no podemos asignarle un valor
fijo.
var edad:Number;
var edad_padre:Number;
Si sabemos que la edad es la edad del padre menos 30,
independientemente de cuál sea la edad del padre podemos utilizar la
siguiente expresión para darle valor a edad:
edad = edad_padre – 30;
Por tanto las expresiones son muy importantes y se utilizan
continuamente a la hora de generar una aplicación.
Están compuestas por datos o variables, que se combinan
mediante operadores que pueden ser de tres tipos: aritméticos, de
comparación y de asignación.
En los siguientes apartados veremos los tipos de operadores y
para que sirven.
Operadores aritméticos
Son los operadores aritméticos usuales, además de alguno
nuevo. Son los siguientes:
Suma (+).
Resta (-).
Multiplicación (*).
División (/).
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 35 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Módulo (%): Es el resto de una división, sirve para saber si un
número es divisible por otro. Cuando esto ocurre, el módulo es
cero.
Incremento en una unidad (++).
Decremento en una unidad (--).
Los dos últimos son muy usados, y si se utilizan en la parte
derecha de una asignación hay que tener en cuenta que el operador
esté a la izquierda o a la derecha de la variable, ya que cambia su
comportamiento. Veámoslo con un ejemplo:
var y = 0; // x vale 0
var x = 5; // y vale 5
y = x; // Ahora y también vale 5
y = ++x; // En este caso se suma una unidad a x, y se
// asigna el valor a y, luego las dos valdrán 6
y = x++; // En este caso se asigna el valor de x a y,
// y luego se suma 1 a x, con lo cual y valdrá
// 5 y x valdrá 6
Operadores de comparación
También son conocidos como operadores booleanos. Siempre
tienen como respuesta verdadero o falso, y sirven para tomar
decisiones respecto a que se cumpla o no una determinada condición.
Los operadores de comparación en ActionScript son los
siguientes:
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 36 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Operador Descripción
== Igual a
!= No es igual a
> Es mayor que
>= Es mayor o igual que
< Es menor que
<= Es menor o igual que
&& Y, booleano
|| O, booleano
! No, booleano
Operadores de asignación
Sirven para asignar un valor (o el valor de una variable o
expresión) a una variable.
Son los siguientes:
Operador Nombre Ejemplo Significado
= Igual x = y x = y
+= Añadir un valor x+=y x = x + y
–= Restar un valor x–=y x = x – y
*= Multiplicar un valor x*=y x = x * y
/= Dividir por un valor x/=y x = x / y
%= Módulo por un valor x%=y x = x % y
<<= Correr a la izquierda según un valor
x<<=y x = x << y
>= Correr a la derecha según un valor
x>=y x = x > y
>>= Llenar de ceros según un valor
x>>=y x = x >> y
Operador new
Este operador permite crear una variable cuyo contenido es un
objeto de los definidos en Flash. Por ejemplo, para crear una variable
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 37 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
que sea un objeto de tipo Sound (sonido), usaremos la siguiente
sintaxis:
var sonido = new Sound();
Operador _this
Este operador se usa para referirse al objeto mismo en el que
se encuentra el código ActionScript.
Condicionales
Son construcciones, que nos permiten realizar un conjunto de
acciones u otro dependiendo de si se cumple o no una cierta
condición. Es decir permiten decidir qué hacer en función de que una
premisa sea cierta o falsa.
Su sintaxis es la siguiente:
if (condición){
acciones
}
Donde condición es una expresión que da como resultado
verdadero o falso, y acciones son las instrucciones que se ejecutan en
el caso de que la condición sea verdadera.
Con esta sintaxis, si la condición es falsa no se realizaría
ninguna acción, podemos controlar qué hacer en el caso de que la
condición sea falsa con la siguiente sintaxis:
if (condición){
acciones si condición es verdadero
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 38 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
}
else{
acciones si condición es falso
}
Por último estas estructuras condicionales se pueden complicar
tanto como sea necesario, pudiendo introducir un if dentro de otro, a
su vez conteniendo otro, etc.
Lo visto hasta ahora es lo que se llama condicional simple, pero
cuando la condición puede tomar varios valores, es más conveniente
utilizar la construcción switch, que permite analizar varias propuestas
al mismo tiempo en una sola instrucción.
Supongamos que tenemos una condición la cual puede tomar
varios valores: valor1, valor2, etc. Para decidir qué hacer
dependiendo del valor que tenga la condición usaremos la siguiente
sintaxis:
switch (condición){
case valor1: acciones;
break;
case valor2: acciones;
break;
case valor3: acciones;
break;
default: acciones;
}
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 39 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
En esta construcción cada case representa cada uno de los
posibles valores que puede tomar la condición, y las acciones a
realizar en cada caso. El conjunto acciones de cada caso debe
terminar con la instrucción break.
El último caso no utiliza la palabra case sino default, ésta se
refiere al caso en el que la condición adopte un valor que no está
contemplado en ninguno de los case anteriores, es parecido al else
del esquema if.
Bucles
Los bucles son construcciones que nos permiten realizar una o
varias acciones de forma repetitiva. Existen tres tipos: “mientras”,
“repetir” y “para”.
Los tres funcionan de forma similar y su lógica es parecida,
pero cada uno de ellos tiene sus peculiaridades, que los hacen más o
menos adecuados dependiendo de la situación en la que se vayan a
usar.
Veamos cada uno de ellos:
Bucle “mientras”
Este bucle realiza una o varias acciones mientras que se cumpla
una cierta condición. Su sintaxis es:
while (condición){
acciones;
}
En este caso se comprueba la condición, si se cumple se
realizan las acciones y una vez hechas se vuelve a comprobar la
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 40 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
condición, si se cumple se vuelven a realizar las acciones, y así hasta
que la condición no se cumpla.
Por tanto con este bucle se realizan las acciones cero o más
veces.
Bucle “Repetir”
Este bucle realiza una o más acciones hasta que deje de
cumplirse una cierta condición. Su sintaxis es la siguiente:
do{
acciones;
}
while (condición)
Con este bucle se realizan las acciones, se comprueba si se
cumple condición, en caso afirmativo se vuelven a repetir las
acciones, hasta que la condición deje de cumplirse.
En este caso las acciones se realizan al menos una vez, aunque
no se cumpla la condición, ya que primero se realizan las acciones y
luego se comprueba la condición.
Bucle “Para”
El bucle “Para” se utiliza cuando conocemos el número de veces
que se deben repetir las acciones a ejecutar. Se suele utilizar mucho
para trabajar con arrays, y su elemento principal suele ser una
variable de tipo numérico que será la que controle la ejecución del
bucle.
Su sintaxis es la siguiente:
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 41 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
for (valor inicial; condición; modificar valor){
acciones;
}
Donde valor inicial es el valor de la variable, con el que
comienza el bucle, condición es lo que debe cumplirse para que se
ejecuten las acciones, y modificar valor, es la instrucción que va
modificando el valor de la variable cada vez que se ejecuta el bucle.
Veamos un ejemplo:
var i:Number;
for (i=0; i<10; i++){
accion1;
accion2;
}
Al llegar al bucle, i tomará el valor 0, como i es menor que 10,
se ejecutarán las acciones, y luego se suma 1 a i, luego i valdrá 1,
como i es menor que 10, se ejecutan de nuevo las acciones y se
suma 1 a i. El bucle seguiría ejecutándose hasta que i valga 10.
Para terminar, es muy importante señalar que en los bucles
while y do es imprescindible modificar el valor de la condición dentro
del bucle, ya que si esta condición no se modifica se entrará en un
bucle infinito, dado que la condición siempre se cumplirá.
En este caso el programa se quedará ejecutando las acciones
del bucle indefinidamente, lo cual es un problema grave.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 42 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Funciones
Son un elemento indispensable en cualquier lenguaje de
programación y por tanto también en ActionScript.
Simplificando, una función es un trozo de código al que le
damos un nombre que nos permite utilizarlo varias veces a lo largo
de un programa sin tener que escribir el código cada vez que lo
utilicemos.
Una función es un pequeño programa en el cual puede haber
todo tipo de instrucciones, declaraciones de variables, y puede o no
devolver un resultado.
Para usar una función deben realizarse dos acciones, lo primero
es la definición de la función (crearla), y luego llamarla desde el
programa principal (ejecutarla).
La sintaxis de la declaración de funciones es la siguiente:
function Nombre(parámetro1: tipo, parámtro2:tipo, …){
instrucciones;
}
Donde Nombre es el nombre que se le quiera dar a la función,
normalmente está relacionado con las acciones que ejecute.
Los parámetros son opcionales y son los datos del programa
principal con los que va a trabajar la función.
Por último las instrucciones, es el código ActionScript necesario
para que la función realice su cometido.
En cuanto a la llamada a la función, es decir lo que hay que
hacer para usarla en el programa principal, la sintaxis es la siguiente:
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 43 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Nombre(valor1, valor2, …);
Donde Nombre es el nombre que se le haya dado a la función
en la declaración, y valor1, valor2, etc, son los valores que tendrán
los parámetros a la hora de ejecutar el código de la función.
Obviamente estos valores deben coincidir con el número y tipo de los
parámetros que se hayan definido en la declaración de la función.
Las funciones pueden devolver o no un valor, para devolver un
valor se utiliza la instrucción return, la cual debe colocarse al final del
código de la función.
Veamos un ejemplo de todo esto.
Crearemos una función que calcula el área de un rectángulo, a
partir de su base y altura, las cuales se le pasarán como parámetros.
// Declaración de la función
function area(b:Number, a:Number){
var valor_area:Number; //Esta es una variable local,
// sólo afecta a la función
valor_area = b*a;
return valor_area;
}
//Aquí irían declaraciones de otras funciones
//o código del programa principal.
//Ahora se hace la llamada a la función
trace(area(20,10));
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 44 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
//Esta instrucción muestra en la ventana de salida
//el área de un rectángulo de base 20 y altura 10,
//en este caso 200
//También se puede hacer la llamada usando variables
var base = 20;
var altura = 10;
trace(area(base,altura));
//El resultado sería el mismo
Arrays
Los arrays son otro de los elementos importantes en los
lenguajes de programación.
Un array, también llamado vector no es más que un conjunto
finito de elementos, los cuales se pueden manejar por separado. Es
muy útil cuando se debe manejar un conjunto de varios elementos
del mismo tipo, ya que en vez de crear una variable para cada uno se
pueden almacenar como elementos de un array, lo que simplifica su
manejo a la hora de la programación.
Para declarar un array se utiliza el operador new, y disponemos
de varias formas de crearlos. Veamos algunos ejemplos:
var vector :Array = new Array();
Este código crea un array vacío, es decir no contiene ningún
elemento
Otra forma de crear arrays es:
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 45 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
var vector:Array = new Array(n);
Con esta otra modalidad, el array tampoco contiene datos pero,
sí que definimos el número de elementos que va a tener.
Por último podemos definir los datos que va a contener el array
a la hora de crearlo, esto se consigue de la siguiente manera:
var nombres:Array = new Array(“Luis”, “Ana”, “Alicia”, “Pedro”);
De este modo se crea un array de cuatro elementos cada uno
de los cuales es un nombre, cuyos valores son los que están dentro
del paréntesis.
Una vez que tenemos creado un array, el modo de acceder a
los datos que contiene es mediante lo que se llama índice, que no es
más que un número entre corchetes que referencia a un elemento del
array. Es importante reflejar que los elementos de un array son
enumerados a partir de cero, es decir, el primer elemento del array
tendrá el índice 0.
De este modo la anterior declaración del array nombres es
equivalente al siguiente código:
var nombres:Array = new Array();
nombres[0] = “Luis”;
nombres[1] = “Ana”;
nombres[2] = “Alicia”;
nombres[3] = “Pedro”;
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 46 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Por tanto para referirnos a un elemento de un array debemos
escribir el nombre del array y entre corchetes el índice del elemento
al que queremos acceder.
Más adelante se verán las propiedades y los métodos del objeto
Array.
Acciones en ActionScript
En este apartado se estudiarán las acciones más comúnmente
utilizadas en ActionScript para el manejo de la línea de tiempo.
Veamos las más usadas:
- gotoAndPlay(n): Indica al reproductor que debe ir al fotograma
n, y reproducir el resto de la película desde ese fotograma.
- gotoAndStop(n): Indica que la cabeza lectora vaya al fotograma
n y se detenga.
- on: Se utiliza para responder a eventos, por tanto se usará con
botones y clips de película, ya que los gráficos no reciben
eventos.
- play: Reproduce la película.
- stop: Detiene la reproducción de la película.
- stopAllSounds: Detiene la audición de todos los sonidos que se
están reproduciendo.
Funciones globales
Aunque ActionScript 2.0 cuenta con un gran número de ellas se
verán en este apartado las más destacadas, y comúnmente
utilizadas.
Entre estas podemos destacar:
fscommand
Esta función permite que la película se comunique con el
navegador web del usuario. Su sintaxis es:
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 47 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
fscommand(“comando”, “argumento”);
En la siguiente tabla se muestran los comandos
predeterminados que ofrece Flash para la función fscommand.
Comando Argumento Descripción
quit Cierra el proyector
fullscreen true / false Especifica si queremos que Flash se visualice a pantalla completa o no
allowscale true / false Cambia la escala de la película dentro del reproductor
showmenu true / false Activa los elementos del menú o los atenúa, según el argumento
exec Ruta de acceso al programa
Ejecuta un programa desde el proyector
trapallkeys true / false Envía todos los eventos de teclado al reproductor
getURL
Esta función permite abrir una dirección URL, en definitiva es un
hipervínculo.
En realidad con esta función podemos abrir o cargar una página
web, otra película Flash, un sitio ftp, un ejecutable, un script CGI o
cualquier otra cosa que exista en internet o en un ordenador local y
se conozca su dirección URL.
Su sintaxis es la siguiente:
getURL(“URL”, “ventana”, “variables”);
Veamos cuáles son sus parámetros:
- URL: Es la dirección de la página que se quiere cargar.
- ventana: Con este parámetro se puede decidir dónde queremos
que se vea el documento cargado, y puede tener cuatro
opciones:
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 48 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
a) _self: La misma ventana que contiene la película Flash.
b) _blank: Abre una nueva ventana en el explorador.
c) _parent: Si la ventana actual tiene marco, quita la película
del marco y la sustituye por el documento cargado
d) _top: Se carga en el explorador sustituyendo todos los
marcos que estuvieran activados.
- variables: Es un argumento opcional. Sirve para enviar
variables a un servidor a la hora de cargar el documento.
trace
Esta función es muy sencilla y lo que hace es enviar un mensaje
a la ventana de salida de Flash.
Sólo se usa durante el creación de la película ya que la ventana
salida sólo se visualiza en esta fase, sin embargo es muy útil para
comprobar que la película se comporta como se desea, es decir, se
puede utilizar como un método de depuración.
Su sintaxis es:
trace(argumento);
El argumento puede ser una cadena de caracteres, en cuyo
caso debe ir entre comillas, o una expresión.
Propiedades y métodos de los objetos más importantes en ActionScript
En este apartado se verán las propiedades sobre las que se
puede actuar y los métodos que se pueden utilizar, con los objetos
más importantes de ActionScript.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 49 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Objeto Array
La única propiedad que posee el objeto Array es length, que
permite conocer el número de elementos que contiene un array.
Su sintaxis es: miArray.length
Los métodos del objeto Array son:
concat(): Concatena los elementos de una array detrás de los
de otro array. Su sintaxis es: arrayres = array1.concat(array2);
join(): Convierte todos los elementos de un array en cadenas
de texto, los concatena y los separa con una coma (predefinido), o
con otro carácter que pongamos como argumento. Su sintaxis es:
miArray.join(separador);
pop(): Elimina el último elemento de un array y devuelve su
valor.
push(): Añade uno o más elementos al final de un array.
reverse(): Invierte el sentido del array con respecto al orden de
sus elementos.
shift(): Elimina el primer elemento de un array y devuelve su
valor.
slice(): Extrae un segmento de un array. El array original queda
como estaba, y crea un nuevo array con el segmento extraído. Sus
argumentos son el índice inicial y final del segmento. Estos pueden
ser negativos en cuyo caso se empieza a contar desde el último
elemento del array -1 hacia atrás.
sort(): Ordena los elementos de un array.
splice(): Sirve para eliminar y agregar elementos en un array.
Su sintaxis es miArray.splice(inicio, numelementos, valor1, valor2,…,
valorN); donde inicio es el índice a partir del cual se eliminan y se
agregan elementos, numelementos es el número de elementos que
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 50 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
se van a eliminar, y los valores son los elementos que se van a
agregar.
toString(): Muestra los elementos de un array en una lista de
sus valores separados por comas y sin espacios en blanco.
Objeto String
Un string no es más que un array de caracteres.
La única propiedad del objeto String es length, que sirve para
conocer el número de caracteres que contiene un String. Su sintaxis
es análoga a la de los arrays.
Los métodos del objeto String son:
charAt(): Devuelve el carácter que ocupa una determinada
posición en el string. Su sintaxis es: miCadena.charAt(índice)
charCodeAt(): Es similar al anterior pero en lugar de devolver
un carácter devuelve su código.
concat(): Concatena a un string todos los valores que se le
pasen como argumentos.
indexOf(): Busca en un string un carácter, o una cadena de
caracteres y devuelve el índice de su primera aparición, si no se
encuentra el carácter devuelve -1. Su sintaxis es
miCadena.indexOf(valor, inicio);, valor es el carácter o cadena a
buscar, e inicio es la posición a partir de la que se empieza a buscar,
es opcional.
slice(): Devuelve una subcadena de una cadena, compuesta por
los caracteres desde el inicio hasta el final que no se incluye. Su
sintaxis es miCadena.slice(inicio, final);
substr(): Forma una subcadena con la cantidad de caracteres
que indica longitud comenzando por el carácter cuyo índice es inicio
(incluido. Su sintaxis es: miCadena.substr(inicio, longitud);
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 51 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
toLowerCase(): Devuelve la misma cadena con todos los
caracteres en minúsculas.
toUpperCase(): Devuelve la misma cadena con todos los
caracteres en mayúsculas.
Objeto Button
Este objeto es el que proporciona las propiedades y los métodos
a los símbolos Botón de la biblioteca de Flash.
Con estas propiedades y métodos se puede manipular su
comportamiento desde ActionScript, lo que ahorra carga de memoria
a la hora de publicar la película en la Red.
El objeto Button sólo cuenta con un método, que es getDepth()
y devuelve la profundidad de la instancia del botón.
En cuanto a las propiedades son las siguientes:
Las propiedades generales más utilizadas en las que participa el
objeto Button son:
_alpha: Es la transparencia, es un valor de 0, totalmente
transparente a 100, totalmente opaco.
_focusrect: Es un valor booleano hace que aparezca o no un
cuadrado amarillo alrededor del objeto cuando recibe el
foco.
_height: Es la altura del objeto.
_visible: Hace que el objeto sea visible o no.
_width: Es la anchura del objeto.
_x: Es la posición horizontal del objeto
_y: Es la posición vertical del objeto.
Además cuenta con una serie de propiedades particulares:
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 52 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
enabled: Es un valor booleano que determina si el objeto está
activado o no.
tabEnabled: Esta propiedad hace referencia a la posibilidad de
que el usuario pueda pasar de un objeto a otro
mediante la tecla tabulador.
tabIndex: Es el orden de tabulación del objeto.
trackAsMenu: Sirve para especificar si el objeto se va a
comportar como un menú o no.
useHandCursor: Especifica si al pasar el ratón por encima del
objeto el cursor se queda como está o cambia su
aspecto al de una mano.
Por último el objeto Button puede recibir eventos, los cuales se
tratarán con los llamados controladores de eventos, cuya estructura
es la siguiente:
nombreInstancia.evento = function(parámetros){
instrucciones;
}
Los eventos que reconoce el objeto button son los siguientes:
onDRagOut: Se produce cuando se presiona el botón del ratón sobre
el botón y a continuación se desplaza el puntero fuera del botón con
el botón izquierdo del ratón aún presionado.
onDragOver: Es el evento contrario al anterior, se presiona el
ratón fuera del objeto y se arrastra al objeto.
onKillFocus: Se produce cuando un botón no se selecciona con
el teclado. Tiene un parámetro, newFocus, que
representa el nuevo objeto seleccionado, si no hay
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 53 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
ningún objeto seleccionado este parámetro tendrá el
valor null.
onPress: Hacer click sobre el botón.
onRelease: Soltar el ratón sobre el botón.
onReleaseOutside: Solar el ratón fuera del objeto.
onRollOut: Se produce cuando el puntero del ratón se desplaza
fuera del área del botón.
onRollOver: Se produce cuando el puntero del ratón pasa por
encima del botón.
onSetFocus: Se dispara cuando el botón se selecciona con el
teclado.
Objeto MovieClip
Este objeto hace referencia a los clips de película Debido a que
son los objetos más importantes en Flash, cuenta con un gran
número de métodos y propiedades.
Los métodos más destacados del objeto MovieClip son los
siguientes:
attachMovie(): Este método crea una nueva instancia de otro
clip de la biblioteca y lo adjunta a la película.
createEmptyMovieClip(): Crea un clip de película vacío como
elemento secundario de un clip de película existente.
createTextField(): Crea un campo de texto vacío como
elemento secundario de un clip de película.
duplicateMovieClip(): Crea una nueva instancia del clip de
película, mientras éste se está reproduciendo.
getBytesLoaded(): Devuelve los bytes del clip que se han
cargado hasta un momento dado.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 54 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
getBytesTotal(): Devuelve el tamaño en bytes del clip de
película.
getDepth(): Devuelve la profundidad de una instancia de clip
de película.
getURL(): Realiza lo mismo que la acción getURL.
gotoAndPlay(): Sirve para indicar al control que comience el
movieClip en un fotograma determinado.
gotoAndStop(): Es igual que el anterior, pero indica al control
que se detenga en un fotograma determinado.
hitTest(): Permite controlar si el clip de película se solapa con
un área determinada de la pantalla.
loadMovie():Se utiliza para cargar películas que no están en la
aplicación.
loadVariables(): Carga variables de un archivo externo.
nextFrame(): Envía el control al fotograma siguiente del clip
de película.
play(): Reproduce el clip de película.
prevFrame(): Envía el control al fotograma anterior.
removeMovieClip(): Elimina el clip en el caso de que haya sido
creado con duplicateMovieClip() o attachMovie().
startDrag(): Inicia la acción de arrastrar el clip de película.
stopDrag(): Detiene la acción de arrastrar el clip de película.
stop(): Detiene la reproducción del clip de película.
swapDepths(): Intercambia el nivel de profundidad de dos
clips de película.
unloadMovie(): Elimina cualquier clip de película que haya sido
creado con attachMovie() o loadMovie().
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 55 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Además de estos métodos el objeto MovieClip cuenta con otros
métodos llamado de dibujo, que sirven para modificar su apariencia.
Las propiedades del objeto MovieClip, además de las generales
que se han visto para los botones, son las siguientes:
enabled: Indica o establece si un clip de película está activado
o no.
focusEnabled: Determina si el clip de película puede o no
recibir el foco con el teclado.
tabChildren: Sirve para incluir o excluir los objetos secundarios
de un clip de película en la tabulación automática.
tabEnabled: Determina si un clip de película se incluye o no en
el orden de tabulación.
tabIndex: Permite personalizar el orden de tabulación de los
clips de película.
useHandCursor: Determina si el puntero del ratón se convierte
en una mano al pasar sobre el clip de película.
Para finalizar el objeto MovieClip puede recibir eventos, veamos
cuáles pueden ser:
onDragOut: Se produce cuando se presiona el botón izquierdo
del ratón fuera del clip de película, se desplaza, y luego
se sitúa sobre el clip de película.
onDragOver: Se produce cuando se arrastra el puntero del
ratón sobre el clip de película.
onEnterFrame: Se produce cuando se carga un fotograma. Las
acciones asociadas a este evento se ejecutan antes que
las acciones del fotograma.
onKeyDown: Se genera cuando se pulsa una tecla.
onKeyUp: Se invoca cuando se suelta una tecla.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 56 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
onKillFocus: Se invoca cuando un clip de película ya no se
selecciona con el teclado.
onLoad: Se genera cuando se carga la película.
onMouseDown: Se presiona el botón izquierdo del ratón.
onMouseMove: Se mueve el ratón.
onMouseUp: Se suelta el botón izquierdo del ratón.
onPress: Hacer click con el ratón sobre un clip de película.
onRelease: Se suelta el botón izquierdo del ratón sobre un clip
de película.
onReleaseOutside: Se suelta el botón del ratón fuera del clip
de película.
onRollOut: Se produce cuando el ratón se desplaza fuera de un
clip de película.
onSetFocus: El clip de película recibe el foco mediante el
teclado.
onUnLoad: Se produce al eliminar el clip de película.
Objeto Mouse
Este objeto permite manipular el cursor del ratón en la pantalla
del usuario.
Sus métodos son los siguientes:
addListener(): Sirve para añadir un “escuchador” de eventos.
hide(): Oculta el puntero del ratón.
removeListener(): Elimina un “escuchador”.
show(): Vuelve a hacer visible de nuevo el cursor si éste se ha
ocultado con hide().
Los eventos del objeto Mouse son éstos:
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 57 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 58 / 109
onMouseDown: Se presiona el botón izquierdo del ratón.
onMouseMove: Se mueve el ratón por la pantalla.
onMouseUp: Se suelta el botón izquierdo del ratón.
66.. AACCCCEESSIIBBIILLIIDDAADD EENN FFLLAASSHH
Ya hemos visto anteriormente cómo podemos conseguir
aplicaciones accesibles en Flash mediante la utilización de un revisor
de pantalla. En este apartado se estudiará cómo conseguir desarrollos
accesibles para usuarios con discapacidad visual, pero sin la
participación para ello de un revisor de pantalla.
Para considerar una aplicación como accesible, principalmente
debe cumplir dos premisas fundamentales, por un lado que se pueda
manejar con teclado, sin necesidad del ratón, y por otra parte que
informe al usuario mediante sonidos de lo que sucede en la pantalla.
Para cumplir con estos dos objetivos Flash nos aporta una serie
de soluciones que nos permitirán realizarlos de una forma más o
menos complicada dependiendo de la complejidad de la aplicación a
la que nos estemos enfrentando.
CONTROL DE TECLADO
Para que una persona con discapacidad visual pueda utilizar
una aplicación, ésta debe poder manejarse con el teclado. Por tanto
es necesario definir e implementar un mecanismo que permita el
manejo de la película con el teclado, para ello en Flash contamos con
el objeto Key, además de con el evento KeyPress(), muy utilizado
para estos menesteres.
Objet Key
Es el objeto que permite dotar de interactividad mediante el
teclado a la película.
Dirección de Educación y
Empleo Grupo ACCEDO
Las propiedades de este objeto son constantes y representan
los códigos de las teclas que componen el teclado, por tanto no
estamos limitados a un cierto número de teclas, podemos utilizarlas
todas, ya que cada una tiene su código específico. En el Anexo 1 se
muestran todos los códigos de teclado.
Los métodos del objeto Key son los siguientes:
addListener(): Este método prepara un objeto para que pueda recibir
eventos de teclado. Un ejemplo sencillo de cómo se utiliza es el
siguiente, en el cual se mostrará un mensaje en la ventana de salida
indicando que se ha pulsado una tecla.
miEscucha = new Object();
Key.addListener(miEscucha);
miEscucha.onKeyDown = function(){
trace(“Ha presionado una tecla”);
}
getAscii(): Devuelve el código ASCII de la última tecla
presionada o soltada.
getCode(): Devuelve el código de la última tecla presionada.
isDown(): Devuelve true si la tecla utilizada por el usuario
corresponde al código del argumento, y false en otro
caso.
isToggled(): Devuelve verdadero si se pulsa la tecla del bloque
numérico o del bloque de mayúsculas.
removeListener(): Elimina un objeto previamente creado con
addListener.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 59 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Los eventos del objeto Key son los dos que se explican a
continuación:
onKeyDown: El usuario presiona una tecla.
onKeyUp: El usuario suelta una tecla presionada.
Evento keyPress()
Mediante este evento que se asocia a los botones Flash nos
ofrece otra forma, quizás más sencilla de controlar el teclado desde
una aplicación.
El código ActionScript que maneja este evento debe estar
asociado a un botón, y es el siguiente:
on (keyPres “tecla”){
acciones;
}
Donde tecla es el carácter que se quiere controlar, por eso va
entre comillas. Con esta instrucción Flash ejecutará las acciones cada
vez que se pulse esa tecla.
Es importante que lo que se detecta aquí no es la pulsación de
una tecla, sino más bien la introducción de un carácter, por tanto
será distinto pulsar “a” que “A”, y ambas se pueden controlar por
separado.
SONIDOS
Para conseguir cumplir la segunda premisa que debe cumplir
una aplicación para ser accesible, debe ser capaz de informar al
usuario de lo que está sucediendo en la pantalla, para ello se pueden
utilizar sonidos.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 60 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Flash es una herramienta muy potente a la hora de manejar
sonidos, para ello cuenta con el objeto Sound.
Objeto Sound
Es el medio para manejar sonidos en una película Flash.
Las propiedades del objeto Sound son las siguientes:
.duration Es la duración del sonido en milisegundos
.position Es el número de milisegundos que lleva reproduciéndose el sonido
Los métodos del objeto Sound se muestran en la siguiente
tabla:
.attachSound() Permite vincular un fichero de sonido a un objeto Sound. Este fichero debe estar en la biblioteca
.getBytesLoaded() Devuelve el número de bytes cargados para un objeto Sound
.getBytesTotal() Devuelve un entero que representa el número total de bytes del fichero de sonido
.getPan() Devuelve el balance del sonido
.getTransform() Recupera la información sobre cualquier transformación realizada sobre el sonido
.getVolume() Devuelve el volumen del sonido, es un número de 0 a 100
.loadSound() Carga un archivo MP3 en un objeto Sound. Este archivo se encuentra en una ubicación externa
.setPan() Asigna el balance al objeto Sound, es un valor de -100 a 100 y el valor de igual balance por izquierda y derecha es 0
.setTransform() Permite hacer transformaciones de volumen, balance, etc, y combinaciones de ellas en un objeto Sound
.setVolume() Establece el nivel de volumen de un objeto Sound
.start() Reproduce el fichero de sonido cargado en un objeto Sound
.stop() Puede apagar la reproducción de un objeto Sound, o de todos los sonidos que se estén reproduciendo.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 61 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Por último los eventos que afectan al objeto Sound son:
.onLoad Se invoca automáticamente cuando se carga un sonido
.onSoundComplete Se invoca automáticamente cuando finaliza la reproducción de un sonido
RECOMENDACIONES ÚTILES PARA DESARROLLAR APLICACIONES ACCESIBLES
En este apartado se comentarán algunos aspectos a tener en
cuenta a la hora de desarrollar una película Flash que sea accesible
para personas con discapacidad visual.
Los aspectos a tener en cuenta son:
A la hora de generar el código de manejo con teclado para una
aplicación es útil asociar todo este código a un botón que no haga
nada, y que se coloque fuera del escenario. Este botón debe situarse
en la capa superior de la película y estar presente durante la
ejecución de la misma, es decir, en todos sus fotogramas. Con esto
tenemos el código del teclado en un mismo lugar, y ese botón será el
que recoja todos los eventos de teclado.
En las aplicaciones desarrolladas para ser utilizadas con revisor
de pantalla, es recomendable repasar el funcionamiento del orden de
tabulación que hayamos definido, ya que a veces Flash no lo sigue
adecuadamente. Realmente aunque no debería, en este orden influye
la posición geográfica de los objetos en la pantalla, sobre todo en
versiones anteriores de Flash.
Siempre es más sencillo en Flash, conseguir la accesibilidad
mediante aplicaciones que no usen revisor de pantalla, ya que éstas
son más robustas y su comportamiento más predecible y estable que
usando un revisor de pantalla, al cual sería deseable que Flash
enviase más información de la que envía, sobre todo en las
situaciones en que se produce un cambio en pantalla. En este caso se
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 62 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 63 / 109
puede modificar la información de accesibilidad, pero Flash no
informa de estos cambios al MSAA.
Si se van a reproducir sonidos en un fotograma, éstos deben
importarse previamente a la biblioteca.
Es recomendable en aplicaciones que utilicen sonidos, cargarlos
todos al principio de la película, ya que esto nos evitará problemas de
ralentización y sincronización.
Una buena práctica es que las aplicaciones se ejecuten a
pantalla completa, para ello en Flash disponemos de la siguiente
instrucción: fscommand(“fullscreen”, true);
Otra propiedad que puede ser útil es _focusrect mediante la
cual se puede ocultar el cuadrado amarillo alrededor del objeto que
tiene el foco, el cual puede confundir a veces a usuarios con baja
visión.
Para poder utilizar sonidos con ActionScript, previamente deben
vincularse desde la biblioteca.
77.. CCRREEAACCIIÓÓNN DDEE AAPPLLIICCAACCIIOONNEESS EEDDUUCCAATTIIVVAASS AACCCCEESSIIBBLLEESS
En este apartado se estudiará la forma de crear aplicaciones
educativas accesibles.
Por una parte se verán una serie de aspectos generales que
pueden servir para varios tipos de aplicaciones, y posteriormente se
analizará la forma de hacer accesible cada uno de los tipos de
aplicaciones que se pueden encontrar dentro del ámbito educativo.
ELEMENTOS COMUNES
En este primer apartado se comentarán ciertos aspectos que
suelen ser comunes a los distintos tipos de aplicaciones educativas, y
veremos cómo se pueden utilizar en Flash, siempre desde el punto de
Dirección de Educación y
Empleo Grupo ACCEDO
vista de que el objetivo final es que la aplicación sea accesible para
personas con discapacidad visual.
Inserción de sonidos en fotogramas
Mediante esta acción se pueden introducir sonidos en un
determinado fotograma de nuestra película principal (o de un clip, o
de un botón), esto permite que se escuche ese sonido cuando la
ejecución llega a dicho fotograma.
Para poder insertar un sonido en un fotograma, la forma más
sencilla será utilizando el panel de Propiedades, correspondiente al
fotograma.
Todos los sonidos que se pretenda usar en fotogramas deben
estar en la biblioteca, por tanto el primer paso para usar un sonido
será importarlo a la biblioteca mediante la opción correspondiente en
el menú Archivo.
Si queremos insertar un sonido en un determinado fotograma,
debemos seguir los siguientes pasos:
- Seleccionar el fotograma en la línea del tiempo.
- Abrir el panel Propiedades.
- Desplegar la lista sonido, en la cual aparecerán todos los
sonidos contenidos en la biblioteca.
- Seleccionar en la lista el sonido deseado.
- A continuación se puede seleccionar un efecto en la lista de
efectos, y si se desea se puede editar mediante el botón
correspondiente.
- Por último se puede definir el número de veces que se repetirá
el sonido, o si se desea que lo haga indefinidamente.
A continuación se muestra el aspecto del panel de Propiedades
del fotograma, en el cual en la parte derecha se encuentran todos los
controles que se usan con los sonidos.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 64 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Figura 6: Panel de propiedades de fotograma.
Es necesario destacar que si lo que se pretende es colocar una
música de fondo en la aplicación, lo que debe hacerse es insertar esta
música en el primer fotograma de la película principal, y determinar
que se repita indefinidamente.
Por último existe otra forma de reproducir sonidos en
fotogramas, mediante el uso de ActionScript, aunque puede resultar
más compleja para usuarios de Flash con poca experiencia en
programación.
Lo primero que se debe hacer es crear un objeto Sound, y en el
fotograma en el cual se quiere insertar el sonido, se deben asociar las
siguientes acciones:
Asignar un sonido al objeto Sound, mediante el método
loadSound() en el caso de que el sonido esté fuera de la aplicación en
una ubicación determinada, o bien usando el método attachSound(),
en el caso de que el sonido se encuentre en la biblioteca, y haya sido
previamente vinculado para poder usarlo en ActionScript.
Una vez cargado se lanzará el sonido mediante el método
start().
En cuanto a las posibilidades que nos ofrece la inserción de
sonidos en fotogramas, en el ámbito de la accesibilidad, podemos
destacar las siguientes:
- Dotar a nuestra aplicación de una música de fondo, la cual
permita detectar al usuario que la aplicación está activa.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 65 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
- Dotar de sonidos a los diferentes estados de un botón, ya que
cada uno de ellos no es más que un fotograma. En el caso de
alumnos con discapacidad visual son especialmente
susceptibles de asignarles un sonido los estados sobre (cuando
el botón recibe el foco), y presionado (cuando se hace click
sobre el botón o se pulsa Enter).
Repetición automática de mensajes a lo largo del tiempo
Mediante este procedimiento podremos recordar al alumno con
discapacidad visual lo que debe hacer en la aplicación, en el caso de
que pase un periodo de tiempo sin interactuar con el programa, es
decir veamos como podemos introducir en Flash mensajes de
recuerdo.
La forma de realizar este proceso es mucho más sencilla de lo
que en principio puede parecer, para ello utilizaremos lo visto en el
apartado anterior, inserción de un sonido en un fotograma, y
podemos aprovechar la filosofía de funcionamiento de Flash,
mediante la cual creamos una película basada en una línea de
tiempo.
Para repetir un sonido lo primero que se debe hacer es crear un
clip de película, el cual no va a realizar ninguna acción y de hecho
podemos colocarlo fuera del escenario.
En este clip de película insertaremos un sonido (el mensaje que
se quiere que se reproduzca para recordar al alumno lo que debe
hacer) en el último fotograma del clip de película, y determinamos
que se repita una vez.
Lo único que queda por hacer es determinar el tiempo que
tardará en repetirse el mensaje, para esto podemos utilizar la
velocidad de reproducción de la película, por ejemplo, si la velocidad
de reproducción esta fijada en 12 fps (fotogramas por segundo), y
queremos que el mensaje de recuerdo se repita a los 30 segundos sin
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 66 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
interacción por parte del usuario, el clip de película creado para
reproducir el mensaje, deberá tener una duración de 360 fotogramas,
y será por tanto en el fotograma 360 de ese clip, donde se insertará
el sonido.
Por último lo que queda por hacer es utilizar correctamente el
clip de película creado, para ello debemos hacer lo siguiente:
- Insertar el clip de película en el fotograma 1 de la película
principal, como se ha dicho anteriormente puede estar incluso
fuera del escenario.
- Cada vez que el usuario interactúe con la aplicación, es decir se
produzca un evento de ratón o de teclado, se debe reiniciar el
clip de película mediante la siguiente instrucción de
ActionScript.
clipMensaje.gotoAndPlay(1);
Donde clipMensaje es el nombre de instancia que se haya dado
al clip de película que creado para controlar la repetición del mensaje.
Desarrollo de mecanismos de manejo con teclado
En cuanto a la accesibilidad para usuarios con discapacidad
visual es de suma importancia que la aplicación que se desarrolle, sea
del tipo que sea, se pueda manejar con teclado (además de con el
ratón). En Flash se puede realizar esta funcionalidad de varias
formas, las cuales se verán en este apartado.
Manejo con tabulador y Enter
Este es el mecanismo más sencillo de implementar,
simplemente es necesario asignar un valor a los objetos en el campo
Índice de fichas del panel de Accesibilidad, o asignar un valor a la
propiedad tabindex de los objetos mediante ActionScript.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 67 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Manejo con flecha arriba y abajo y barra espaciadora
Mediante este sistema al pulsar flecha arriba o abajo el usuario
se irá moviendo por los elementos activos de la aplicación, al
siguiente o al anterior, y al pulsar la barra espaciadora se activará el
elemento en el que se encuentre en ese momento.
Para implementar este mecanismo en el primer fotograma de la
película principal se define una variable de tipo numérico, en la cual
se irá guardando el valor del elemento que debe activarse, según se
pulse flecha arriba o abajo.
Por otra parte se crea un botón que no hace nada, simplemente
recoger los eventos de teclado, y se coloca fuera del escenario en la
capa de nivel superior de la película principal.
Con todo esto el código ActionScript para controlar este
mecanismo de manejo con teclado sería algo parecido a lo siguiente:
En el fotograma 1:
var foco:Number;
foco = 0;
En el botón que controla la pulsación de teclas:
on (keyPress “<Up>”){
if (foco == n){ // n es el número de elementos
//que se deben recorrer foco = 1;
}
else{
foco++;
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 68 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
}
}
on (keyPress “<Down>”){
if (foco <= 1 ){
foco = n;
}
else{
foco--;
}
}
on (keyPress “<Space>”){
switch (foco){
case 1: acciones del objeto 1;
break;
case 2: acciones del objeto 2;
break;
case n: acciones del objeto n;
break;
default:break;
}
}
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 69 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Manejo con determinadas teclas del teclado
Mediante este mecanismo se pueden asociar acciones a la
pulsación de determinadas teclas, para ello la forma más sencilla de
desarrollarlo es la siguiente:
Se crea un botón como en el caso anterior, que será quien
recoja la pulsación de teclas. Si por ejemplo lo que se desea es que la
aplicación se maneje con los números del teclado, el código
ActionScript asociado a ese botón sería el siguiente:
on (keyPress “1”){
acciones asociadas a la pulsación del número 1
}
on (keyPress “2”){
acciones asociadas a la pulsación del número 2
}
on (keyPress “3”){
acciones asociadas a la pulsación del número 3
}
En definitiva se debe colocar en el evento keyPress, la tecla que
se quiere controlar, entre comillas.
Generación de números aleatorios
Los números aleatorios son números que la mayoría de
lenguajes de programación generan al azar.
Por supuesto ActionScript también ofrece esta posibilidad, y son
de gran utilidad, sobre todo en el campo de las aplicaciones
educativas. Algunos casos en los que nos pueden ser útiles son estos:
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 70 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
- Mostrar una serie de objetos al azar, de todos los que se
disponga en la biblioteca, así en cada ejecución de la aplicación
aparecerán objetos distintos, y por tanto para el alumno será
más complicado memorizar la resolución de la actividad.
- Seleccionar aleatoriamente la posición de los objetos de entre
varias predefinidas, muy útil en el caso de actividades tipo
memory, con el fin de que las casillas no estén siempre en el
mismo orden.
- Posicionarse en un fotograma u otro dependiendo de un
número aleatorio. Esto permite que la ejecución de la aplicación
no siga siempre el mismo orden.
- Crear actividades basadas en el azar como por ejemplo juegos
que se basen en dados.
En ActionScript 2.0 para obtener un número aleatorio
utilizaremos dos métodos del objeto Math:
- Math.random(): Que devuelve un número aleatorio entre 0.0 y
1.0.
- Math.ceil(x): Devuelve el valor entero mayor más cercano de x,
es decir, si x vale 2.315, devolverá 3.
Con estos dos métodos la forma de obtener un número
aleatorio será la siguiente:
numero = Math.ceil(Math.random() * valor_maximo);
Donde numero es una variable de tipo numérico, y
valor_maximo es el mayor número que pretendemos obtener.
Veamos un ejemplo:
Supongamos que queremos obtener un número al azar entre
cero y diez, la instrucción para conseguirlo sería:
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 71 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
var n:Number;
n = 0;
n = Math.ceil(Math.random() * 10);
Por último se puede reseñar que existe otro método,
Math.round(), que se puede utilizar en vez de Math.ceil(), y lo que
hace es devolver el redondeo del valor que se pasa como parámetro.
Cambio de aspecto del puntero del ratón
Este procedimiento puede ser muy útil, en cuanto a la
accesibilidad para usuarios con un cierto resto visual, ya que permite
que la visualización del puntero del ratón sea más cómoda para estas
personas.
Además puede ser una forma de aumentar el interés y la
motivación para la aplicación educativa, para alumnos de corta edad,
ya que se puede crear un puntero del ratón mucho más atractivo
para estos usuarios que el puntero estándar.
Para utilizar un puntero de ratón personalizado, obviamente nos
basaremos en los métodos y propiedades del objeto Mouse. Veamos
los pasos que debemos seguir para crearlo y utilizarlo.
- Crear un clip de película, que será el nuevo puntero del ratón,
puede ser un gráfico fijo o contener animación.
- Insertar una instancia del clip de película en el fotograma 1 de
la película principal, se recomienda colocarlo fuera del
escenario, y lo más importante es que debe colocarse en la
capa de nivel superior, para que cuando se mueva el ratón el
nuevo cursor pase por encima de todos los objetos del
escenario.
- Ocultar el puntero del ratón, para esto se utiliza el método
hide() del objeto Mouse
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 72 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
- Asignar las coordenadas de pantalla x e y al clip de película que
va a ser el nuevo puntero.
- Comenzar a arrastrar el clip de película, mediante el método
startDrag()
- Para volver a restaurar el puntero por defecto se debe utilizar el
método show() del objeto Mouse.
En definitiva el código para cambiar el puntero del ratón sería
algo parecido a lo siguiente, teniendo en cuenta que el nombre de
instancia del clip de película que va a ser el nuevo puntero se llama
nuevo_puntero
Mouse.hide(); //Se oculta el puntero del ratón
nuevo_puntero._visible = true;
//Se hace visible el nuevo puntero
//Se lleva el nuevo puntero a las coordenadas
//del ratón en pantalla
nuevo_puntero._x = _root._xmouse;
nuevo_puntero._y = _root._ymouse;
//Se comienza a arrastrar el nuevo puntero
nuevo_puntero.startDrag();
Inserción y control de vídeos
En ciertas aplicaciones puede ser necesaria la utilización de un
archivo de vídeo, en este apartado se verá cómo se pueden integrar
vídeos en una película Flash, y cómo se pueden controlar de una
forma sencilla.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 73 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Los formatos de ficheros de vídeo que se pueden insertar en
una película Flash son los siguientes: .mov, .avi, .mpeg y .flv.
Para insertar un vídeo en una película Flash se deben seguir los
siguientes pasos:
En el menú Archivo seleccionar la opción Importar>Importar a
biblioteca
En el cuadro de diálogo que se abre elegir el archivo de vídeo
que se quiere insertar y pulsar el botón Abrir.
En este momento se abrirá el asistente para importar vídeo, en
la primera pantalla se debe elegir dónde se encuentra el fichero (su
ubicación ya aparece por defecto en el cuadro de edición
correspondiente), y pulsar el botón Siguiente.
En la pantalla siguiente, Flash pregunta cómo se desea
implementar el vídeo, de todas las opciones se debe seleccionar
Incorporar vídeo en SWF y reproducir en la línea del tiempo, ya que
con esta opción será más fácil su manejo desde la película Flash. Trás
esto pulsar el botón Siguiente.
Nos encontramos en la pantalla en la que Flash pregunta cómo
se quiere incorporar el vídeo, y ofrece varias opciones:
- En Tipo de símbolo seleccionamos Vídeo incorporado.
- En Pista de audio seleccionamos Integrado.
Se selecciona la opción Expandir línea del tiempo si es
necesario.
Por último se selecciona Incorporar todo el vídeo.
Tras todo esto se pulsa el botón Siguiente.
En la siguiente pantalla se elige la codificación, que es la calidad
del vídeo, obviamente a mayor calidad, mayor tamaño ocupará la
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 74 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
película. Tras seleccionar la codificación elegida se debe pulsar el
botón Siguiente.
Por último aparece una pantalla en la que se muestran las
opciones que se han seleccionado para la importación del vídeo, una
vez que se pulse el botón Finalizar comenzará la misma.
Tras este proceso aparecerá el vídeo en la biblioteca, la forma
más sencilla de manejarlo desde Flash, será introduciéndolo en un
clip de película.
Para ello se crea un nuevo clip de película, y en su primer
fotograma arrastramos el vídeo desde la biblioteca. En ese momento
se abrirá un cuadro de diálogo en el que Flash nos informa del
número de fotogramas que ocupa el vídeo, y pregunta si queremos
ajustar la línea del tiempo a ese número de fotogramas. Se debe
pulsar el botón Si, y ya tenemos el clip de película conteniendo el
vídeo.
Dado que el vídeo está contenido en un clip de película, para
manejarlo desde la aplicación, se insertará en el escenario una
instancia de ese clip, y por tanto ya se puede manejar el vídeo
mediante los métodos que controlan la línea del tiempo del clip de
película, tales como play(), stop(), nextFrame(), prevFrame(),
gotoAndPlay(), gotoAndStop().
Comportamiento de clips de película como botones
Ya se ha comentado que los símbolos más importantes de Flash
son los clips de película, y de hecho cualquier otro tipo de símbolo
podría transformarse en un clip de película.
En determinadas ocasiones puede ser muy útil, y más sencillo
de manejar un clip de película que se comporte como un botón, que
un botón propiamente dicho.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 75 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Los casos en los que puede tener utilidad este “truco”, entre
otros pueden ser los siguientes:
- Cuando al pasar el ratón por encima del botón éste debe
cambiar de apariencia, pero al dejar de estar el ratón sobre el
botón debe mantener esa apariencia.
- Lo mismo del caso anterior, pero al hacer click con el ratón
sobre el botón.
- Cuando una vez que se ha hecho click con el ratón el botón
cambie de apariencia y ya no pueda volver a la inicial.
En el caso de aplicaciones educativas puede ser muy útil para
desarrollar actividades de selección o del tipo memory, como ya
veremos más adelante.
Para crear un clip de película que se comporte como un botón
se deben seguir los siguientes pasos:
- Se crea un clip de película con cuatro fotogramas clave (el
cuarto sólo es necesario si queremos que al hacer alguna acción
sobre el clip, este quede en un estado fijo), en cada uno de
ellos se introduce la instrucción stop() para que se detenga el
clip de película.
- El primer fotograma será la apariencia del clip cuando no ocurre
nada en él.
- El segundo será la apariencia cuando pasa el ratón por encima.
- El tercero será la apariencia cuando se hace click con el ratón
sobre el clip de película.
Debemos tener en cuenta que cuando se habla de apariencia no
nos referimos sólo a la apariencia gráfica, sino que también pueden
tener distintos sonidos asociados lo cual es importante desde el punto
de vista de la accesibilidad.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 76 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Una vez que tenemos creado el clip de película, se inserta en el
escenario de la película principal y se le asigna un nombre de
instancia.
Tras esto y mediante ActionScript se puede controlar el
comportamiento del clip y hacerlo semejante al de un botón,
asignando acciones convenientemente a los distintos eventos,
rollOver, Press, rollOut, etc.
Más adelante todo esto quedará más claro, y su utilidad más
patente, cuando se describa cómo realizar los distintos tipos de
aplicaciones educativas de forma accesible.
ACTIVIDADES DE SELECCIÓN
Son las actividades en las que se deben seleccionar una serie
de objetos de un conjunto dado.
Normalmente esta selección se suele realizar haciendo click con
el ratón sobre los elementos elegidos.
Para conseguir que este tipo de actividades sean accesibles
para alumnos con discapacidad visual, la forma más sencilla es
plantearlas como aplicaciones dirigidas, las cuales los alumnos con
resto visual podrán realizar con el ratón, y los alumnos ciegos
mediante una tableta digitalizadora con una lámina en relieve.
Los aspectos a tener en cuenta son los siguientes:
Se implementa cada uno de los objetos como un clip de
película, con cuatro fotogramas los cuales tendrán todos ellos la
instrucción stop();. Estos cuatro fotogramas representarán lo
siguiente: el 1 será el objeto en reposo, el 2 será el objeto al pasar el
ratón sobre él, el 3 será el objeto al hacer click sobre él, y el 4 será el
objeto, una vez que ya se haya seleccionado.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 77 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
En el fotograma 1 de la película principal se introducen los
objetos, asignándoles un nombre de instancia, mediante el panel
Propiedades.
- En el fotograma 1 habrá que escribir el código ActionScript, el
cual controlará los eventos sobre los objetos. Los eventos que
se deben controlar son: pasar el ratón sobre el objeto
(rollOver), dejar de pasar el ratón sobre el objeto (rollOut), y
hacer click en el objeto(press).
- Las acciones que se deben ejecutar cuando se produce el
evento rollOver son: si el objeto está en el fotograma 4 (ya ha
sido seleccionado), lanzar una locución que informe de que ya
ha sido seleccionado. Si no está en el fotograma 4, se hace que
el objeto se sitúe en el fotograma 2, y se lanza una locución
descriptiva del objeto.
- Las acciones asociadas al evento rollOut son las siguientes: si el
objeto se encuentra en el fotograma 4, no es necesario hacer
nada, en otro caso se hace que el objeto se sitúe en el
fotograma 1.
- En el caso de que se haga click sobre el objeto, lo que hay que
realizar es nada, en caso de que el objeto se encuentre en el
fotograma 4, puesto que si esto ocurre es que ya ha sido
seleccionado, y en otro caso se lanzará una locución de acierto
o de fallo según corresponda, y se pondrá el objeto en el
fotograma 4.
Por supuesto ésta es una forma de implementar estas
actividades, también podrían hacerse con botones en vez de clips de
película, y alguna otra forma.
También se pueden pensar para ser manejadas con la ayuda de
un revisor de pantalla, en este caso se debería cambiar la descripción
de los objetos al ser seleccionados, para que el revisor avisase al
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 78 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
alumno de que ese objeto ya está resuelto, y hacer esto
dinámicamente no funciona muy bien en Flash.
Por supuesto a este tipo de actividades se pueden asociar los
aspectos generales vistos anteriormente, dotarlas de un mecanismo
de manejo con teclado, cambiar el aspecto del puntero del ratón,
utilizar números aleatorios para que cada vez que se ejecute
aparezcan objetos distintos y en distinto orden, etc.
ACTIVIDADES DE ARRASTRAR
Este tipo de actividades también son muy usadas, y para
alumnos ciegos la única forma de poder realizarlas es mediante el uso
de una tableta digitalizadora.
Antes de nada es necesario recalcar que en Flash los únicos
objetos que se pueden arrastrar son los clips de película, con lo cual
este tipo de aplicaciones se basarán en ellos.
Otro aspecto importante de este tipo de actividades, es que se
deberá controlar la posición del puntero del ratón, de otro modo no
se podrá controlar si el alumno ha arrastrado el objeto al lugar
correcto. Para esto en ActionScript se utilizan las propiedades
_xmouse e _ymouse del escenario.
Por tanto para conocer la posición del puntero del ratón se
utilizará:
_root._xmouse
_root._ymouse
Estas actividades tienen dos modos de funcionamiento:
-Arrastrar: al hacer click sobre un objeto, éste se arrastra hasta
que se suelta el botón del ratón.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 79 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
-Coger y soltar: Al hacer click con el ratón comienza a
arrastrarse el objeto, pero se suelta el botón del ratón y el objeto
sigue arrastrándose hasta que se vuelve a hacer click sobre él.
La decisión de qué modalidad desarrollar depende de la
actividad y la edad de los alumnos a los que va dirigida, aunque
normalmente para alumnos ciegos, que la deberán resolver con una
tableta digitalizadora, resulta más sencilla la opción de coger y soltar.
Sea cual sea el tipo de actividad de arrastrar, un detalle
importante que se debe tener en cuenta a la hora de la accesibilidad,
es que cuando se comienza a arrastrar un objeto, se debe guardar su
posición original, para devolverlo a la misma en el caso de que el
alumno no lo lleve al lugar correcto, esto es debido a que en la
lámina en relieve la posición del objeto no cambiará, y por tanto si
éste se queda perdido por la pantalla el alumno será incapaz de
localizarlo mediante la lámina en relieve.
Si bien la forma de implementar los dos tipos de mecanismos
es muy similar, se verán por separado ya que hay algunas diferencias
que se deben tener en cuenta.
Arrastrar
Los eventos que se deben controlar son onRollOver, onPress y
onRelease veamos qué se debe hacer en cada uno de ellos:
- rollOver: Se lanzará una locución descriptiva del objeto.
- Press: Se guardan las posiciones x e y del objeto en dos
variables numéricas. Se emite un sonido identificativo de que
“se ha cogido” el objeto, y se comienza a arrastrar, mediante el
método startDrag().
- Release: Se comprueba si el puntero del ratón está dentro del
área correcta. Si la posición es correcta se emite un sonido de
acierto y se trata el acierto (como veremos al final de este
apartado). Si la posición del puntero del ratón no es correcta,
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 80 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
se deja de arrastrar el objeto, y se devuelve a su posición
inicial, asignando a sus propiedades _x e _y los valores de las
dos variables numéricas en donde se había guardado esta
posición inicial. Por supuesto se debe emitir un sonido de fallo.
Coger y soltar
Los eventos que se deben controlar son onRollOver y onPress,
además se debe utilizar una variable booleana que se usará para
saber si el objeto está o no siendo arrastrado. Veamos qué acciones
se deben realizar cuando se producen estos eventos:
- rollOver: Se lanza una locución descriptiva del objeto.
- Press: Si la variable booleana asociada a ese objeto tiene el
valor false (no se está arrastrando el objeto), se lanza un
sonido identificativo de coger el objeto, se pone la variable
booleana al valor true, se guardan las posiciones x e y del
objeto en dos variables numéricas y se comienza a arrastrar el
objeto. En el caso de que la variable booleana tenga el valor
true (ya se está arrastrando el objeto), se deja de arrastrar, se
comprueba si la posición del puntero del ratón está dentro del
área correcta, en cuyo caso se trata el acierto, y en caso
contrario se produce un sonido de fallo, se asigna el valor false
a la variable booleana del objeto, y se devuelve a éste a su
posición original.
Por último para terminar con este tipo de actividades falta
explicar cómo podemos tratar el acierto, para lo cual tenemos varias
opciones de las cuales aquí se exponen dos:
1. Al acertar se puede hacer que el objeto deje de estar visible,
y habilitado mediante las propiedades _visible y enabled. En este
caso deberán existir unos botones que situaremos debajo de los
objetos en el escenario (en sus mismas posiciones originales), y cuya
única misión sea lanzar una locución en el evento rollOver
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 81 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
informando al usuario de que el objeto de esa posición ya ha sido
arrastrado.
2. Al clip de película correspondiente a cada objeto, se le puede
asignar una locución que avise de que ya ha sido arrastrado en un
fotograma determinado, por ejemplo el 2. En este caso cuando se
acierta, el objeto vuelve a su posición original, y se pone en el
fotograma 2.
Por supuesto para utilizar este procedimiento, se debe controlar
en los eventos rollOver y Press, en qué fotograma se encuentra el
objeto, ya que si está en el 2 la locución que se lanzará será de aviso
de que ya se ha arrastrado, y en el caso del evento Press no se hará
nada, ya que se supone que el objeto ya ha sido arrastrado a su lugar
correspondiente.
ACTIVIDADES DE ASOCIACIÓN
En este tipo de actividades lo que se debe hacer es relacionar
una serie de objetos con otros. Son similares a las de arrastrar, salvo
que en éstas no debemos arrastrar los objetos, sino que debemos
pinchar en un objeto, y luego en el objeto con el que se quiere
relacionar.
La forma más fácil de hacer estas actividades accesibles para
alumnos con discapacidad visual, es que las resuelvan mediante una
tableta digitalizadora con una lámina en relieve.
Para ello la mejor manera de desarrollar la aplicación es
creando los objetos como clips de película con cuatro fotogramas, los
cuales corresponderán a las siguientes situaciones:
- Fotograma 1: No se hace nada sobre el objeto.
- Fotograma 2: Se pasa el ratón por encima del objeto.
- Fotograma 3: Se pincha en el objeto.
- Fotograma 4: El objeto ya ha sido relacionado.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 82 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Los objetos que son objetivo se pueden crear bien como clips
de película o bien como botones, dependiendo de la forma que
resulte más sencilla de definir su comportamiento gráfico, si van a
tener animaciones, si se van a quedar en algún estado dependiendo
de alguna acción, etc.
Una vez creados todos los objetos a relacionar y los objetos
objetivo se debe definir el funcionamiento de la aplicación con el
teclado, para ello se deben controlar los eventos rollOver, rollOut y
press, sobre los objetos a relacionar, y los eventos rollOver y press
sobre los objetos objetivo. Además será necesario utilizar dos
variables booleanas para cada objeto a relacionar, una para saber si
el objeto está seleccionado, y otra para saber si el objeto ya ha sido
relacionado.
Veamos cómo tratar los eventos en los objetos a relacionar:
- rollOver: Si el objeto está en el fotograma 4, se lanza un
mensaje indicando que ya está solucionado. en otro caso se
lleva el objeto al fotograma 2, y todos los demás objetos que
no hayan sido solucionados y no estén seleccionados al
fotograma 1, por último se lanza una locución identificativa del
objeto.
- rollOut: Se lleva el objeto al fotograma 1, siempre y cuando no
se encuentre en el fotograma 4, en cuyo caso no se hace nada
dado que el objeto ya ha sido solucionado.
- press: Se lleva el objeto al fotograma 3, se lanza un sonido
identificativo de que el objeto ha sido seleccionado, y se pone a
true la variable booelana de objeto seleccionado
correspondiente al objeto. Se ponen todas las variables de
seleccionados, de los objetos no solucionados a false.
Para los objetos objetivos las acciones que se debe realizar
cuando reciben un evento son las siguientes:
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 83 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
- rollOver: Se emite una locución identificativa del objeto.
- press: Se comprueba cuál de los objetos a relacionar se
encuentra seleccionado comprobando el valor de las variables
booleanas correspondientes. Si el objeto seleccionado debe
relacionarse con el objeto objetivo se emite un sonido de
acierto, en otro caso de fallo, y el objeto seleccionado se lleva
al fotograma 4, su variable booleana de seleccionado se pone a
false, y su variable booleana de solucionado a true.
Estas actividades también se pueden implementar para ser
resueltas mediante el uso del teclado, para ello como siempre, se
debe crear un botón que es quien va a recibir los eventos de teclado,
y se coloca en el escenario, en la capa superior de la película
principal.
Se pueden definir muchos mecanismos de manejo con teclado
para este tipo de actividades, aquí se expondrá el más sencillo.
En el primer fotograma de la película principal se definen dos
variables numéricas que nos servirá para determinar en qué objeto
seleccionable y objetivo nos encontramos en cada momento, y se
inicializan a cero.
Nos moveremos por los objetos seleccionables con flecha arriba
y flecha abajo y por los objetos objetivo con flecha izquierda y
derecha y seleccionaremos con la barra espaciadora.
En el código asociado al botón de manejo de teclado, al pulsar
flecha arriba y flecha abajo, se incrementa y decrementa el valor de
la variable numérica de los objetos seleccionables como se ha visto
en el apartado “Desarrollo de mecanismos de manejo con teclado”,
de forma que nos permita movernos por los objetos a relacionar,
además dependiendo del valor de la variable, se ejecutarán las
mismas acciones que se han asociado al evento rollOver de cada
objeto.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 84 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Realizamos las mismas acciones para las pulsaciones de flecha
izquierda y derecha pero con la variable de los objetos objetivo, y las
acciones asociadas a los mismos
En el caso de que se pulse la barra espaciadora se asigna el
valor cero a la variable numérica asociada a los objetos objetivo, con
el fin de evitar comportamientos anómalos, se ejecutan las acciones
asociadas al evento press del objeto en el que nos encontramos
según la variable numérica de los objetos a asociar, y también se
comprueba el valor de la variable de los objetos objetivos (que será
cero, con lo cual se debe navegar por ellos), una vez que esta
variable tenga un valor distinto de cero, al pulsar barra espaciadora
se ejecutan las acciones correspondientes al evento press del objeto
objetivo correspondiente.
Aunque la explicación parece un tanto complicada su realización
no es tan compleja.
De todas formas pueden desarrollarse otros mecanismos
dependiendo de las preferencias del desarrollador.
Sin embargo la forma más sencilla de manejo de estas
actividades por parte de un alumno con discapacidad visual, es
utilizando el ratón, o una tableta digitalizadora, siempre y cuando
disponga de ella. Por tanto como medida preventiva siempre es
recomendable desarrollar los dos mecanismos de manejo.
Por último es necesario hacer hincapié en que un tipo de
actividades cuyo uso está muy extendido, son las de tipo memory,
(asociar parejas), que son un caso particular de actividades de
asociación, con lo cual se pueden desarrollar de forma similar a todo
lo explicado en este apartado, con la salvedad de que en este caso no
existen objetos objetivo, sino que es necesario conocer cuántas
casillas están destapadas en cada momento (pueden ser cero o una),
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 85 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
y en caso de que haya una destapada saber cuál es a la hora de
destapar otra, para poder compararlas.
El manejo con teclado de este tipo de actividades, puede
realizarse asociando la pulsación de una tecla a cada una de las
casillas, recorrerlas con las flechas o el tabulador, etc.
ACTIVIDADES DE TEXTO
En este apartado nos referiremos a algunas de las actividades
que están basadas en textos, y que de uno u otro modo se pueden
desarrollar para que sean accesibles para usuarios con discapacidad
visual.
Se tratarán dos tipos de actividades de textos, las de rellenar
huecos con la palabra correcta, y la de arrastrar la palabra correcta al
hueco correspondiente.
Rellenar huecos.
Estas actividades de realizarán por parte de un alumno ciego,
con la ayuda de un revisor de pantalla, por tanto para hacerlas
accesibles se deben usar las opciones de accesibilidad de Flash, es
decir, el panel de Accesibilidad.
Existen dos formas de llevarlas a cabo:
- Una es creando los textos que no van a cambiar, como textos
dinámicos y los huecos donde se debe escribir la palabra serán
textos del tipo de introducción de textos. A todos estos objetos
se les puede asignar un orden de tabulación en el panel de
accesibilidad. De esta forma el alumno se irá moviendo con el
tabulador de un texto a otro.
- La otra opción es creando cada frase como un texto de tipo de
introducción de datos en el cual se escribe el texto que va a
aparecer fijo, y en el lugar en el que el alumno debe escribir se
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 86 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
pueden poner ciertos caracteres, tales como XXX, ***, los
cuales deberán ser borrados para escribir la palabra correcta.
Estos dos métodos de implementación ofrecen ventajas e
inconvenientes a la hora de la accesibilidad, y se comportan de forma
diferente dependiendo de la versión del revisor de pantalla que
estemos utilizando, por tanto se recomienda hacer pruebas con el
revisor mientras se está desarrollando con el fin de dependiendo del
objetivo de la actividad decantarnos por una u otra opción.
Arrastrar palabras.
Estas actividades se dotarán de accesibilidad mediante
locuciones, y el alumno ciego deberá realizarlas con la ayuda de una
tableta digitalizadora.
Es necesario resaltar que el tamaño de los textos debe ser
suficientemente grande como para que luego éstos se puedan
representar en braille en la lámina en relieve.
En cuanto al desarrollo de la actividad es análogo al de
cualquier actividad de arrastrar objetos, visto en un apartado anterior
de este documento.
ACTIVIDADES DE PREGUNTAS
En este punto se tratará el desarrollo de las actividades que
consisten en una serie de preguntas a las cuales se asocia un
conjunto de posibles respuestas de las cuales el alumno debe
seleccionar una.
En cuanto a la accesibilidad de estas aplicaciones lo
recomendable es que se implementen para ser resueltas con la ayuda
de un revisor de pantalla, y dado que la accesibilidad de los controles
de Flash es “peculiar”, se aconseja que se simulen los botones de
opciones que representan las posibles respuestas mediante clips de
película. Veamos como se hace todo esto.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 87 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
En principio se crea un texto dinámico que contendrá la
pregunta, y se le asigna el orden de tabulación 1.
Para las respuestas se crea un clip de película con tres
fotogramas, el primero corresponde a la apariencia cuando no ocurre
nada sobre él, el segundo es el aspecto que tendrá cuando se pase el
ratón por encima, y el tercero cuando se haga click con el ratón sobre
él, es decir, cuando se seleccione esa respuesta.
Todos estos fotogramas contendrán en su capa superior un
texto dinámico, al cual asociaremos una variable en el panel de
propiedades.
Una vez creado el clip de película, ya se puede comenzar a
implementar la aplicación. En cada fotograma de la película principal
se colocará una pregunta y sus posibles respuestas, y se pasará de
una pregunta a la siguiente, al contestar la pregunta, para ello los
pasos a seguir son:
- Se colocan tantas instancias del clip de película respuesta en el
escenario, como respuestas posibles tenga la pregunta,
nombrando cada una de ellas con un nombre diferente.
- En las acciones correspondientes al fotograma, se asigna el
texto correspondiente a cada pregunta utilizando la variable
asociada al texto dinámico que contiene cada una.
- En el evento rollOver de cada opción se lleva dicha opción al
fotograma 2, y el resto al fotograma 1.
- En el evento rollOut de cada opción se llevan todas las opciones
al fotograma 1.
- En el evento press de cada opción se pasa al fotograma
siguiente de la película principal.
En el evento press también se puede controlar un contador de
aciertos y fallos.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 88 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Para que todo este mecanismo funcione con un revisor de
pantalla, es necesario que esté seleccionado el etiquetado automático
en el panel de accesibilidad de la película principal.
Esta forma es la más sencilla de realizar este tipo de
actividades y se puede complicar tanto como se quiera, haciendo
comprobaciones de aciertos, usando contadores de aciertos o fallos,
dando tiempos para responder, etc.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 89 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 90 / 109
AAPPÉÉNNDDIICCEE 11:: LLIISSTTAA DDEE CCÓÓDDIIGGOOSS DDEE TTEECCLLAADDOO EENN FFLLAASSHH
Letras de la A a la Z y números estándar del 0 al 9
En la tabla siguiente se enumeran las teclas de un teclado
estándar para las letras de la A a la Z y los números del 0 al 9, con
los valores correspondientes del código de tecla usados para
identificar las teclas en ActionScript.
Tecla de letra o número Código de
tecla Código de tecla ASCII
A 65 65
B 66 66
C 67 67
D 68 68
E 69 69
F 70 70
G 71 71
H 72 72
I 73 73
J 74 74
K 75 75
L 76 76
M 77 77
N 78 78
O 79 79
P 80 80
Q 81 81
R 82 82
S 83 83
T 84 84
U 85 85
V 86 86
Dirección de Educación y
Empleo Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 91 / 109
Tecla de letra o número Código de
tecla Código de tecla ASCII
W 87 87
X 88 88
Y 89 89
Z 90 90
0 48 48
1 49 49
2 50 50
3 51 51
4 52 52
5 53 53
6 54 54
7 55 55
8 56 56
9 57 57
a 65 97
b 66 98
c 67 99
d 68 100
e 69 101
f 70 102
g 71 103
h 72 104
i 73 105
j 74 106
k 75 107
l 76 108
m 77 109
n 78 110
o 79 111
p 80 112
Dirección de Educación y
Empleo Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 92 / 109
Tecla de letra o número Código de
tecla Código de tecla ASCII
q 81 113
114
115
116
117
118
119
120
121
122
r 82
s 83
t 84
u 85
v 86
w 87
x 88
y
z
89
90
Teclas del teclado numérico
En la tabla siguiente se enumeran las teclas de un teclado
numérico con los valores correspondientes del código de tecla usados
para identificar las teclas en ActionScript:
Tecla del teclado numérico
Teclado numérico 0
Teclado numérico 1
Teclado numérico 2
Teclado numérico 3
Teclado numérico 4
Teclado numérico 5
Teclado numérico 6
Teclado numérico 7
Teclado numérico 8
Teclado numérico 9
Multiplicar
Sumar
Intro
Restar
Código de tecla
Código de tecla ASCII
48
49
50
51
52
53
54
55
56
57
42
43
13
45
96
97
98
99
100
101
102
103
104
105
106
107
13
109
Dirección de Educación y
Empleo Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 93 / 109
Tecla del teclado numérico
Código de tecla
Código de tecla ASCII
Decimal 110 46
Dividir 111 47
Teclas de función
En la tabla siguiente se enumeran las teclas de función de un
teclado estándar con los valores correspondientes del código de tecla
usados para identificar las teclas en ActionScript:
Tecla de función
Código de tecla Código de tecla ASCII
F1 112 0
F2 113 0
F3 114 0
F4 115 0
F5 116 0
F6 117 0
F7 118 0
F8 119 0
F9 120 0
F10
Esta tecla está reservada por el sistema y no puede utilizarse en
ActionScript.
Esta tecla está reservada por el
sistema y no puede utilizarse en ActionScript.
F11 122 0
F12 123 0
F13 124 0
F14 125 0
F15 126 0
Otras teclas
En la tabla siguiente se enumeran las teclas de un teclado
estándar que no son letras, números, teclas del teclado numérico ni
Dirección de Educación y
Empleo Grupo ACCEDO
teclas de función, con los valores correspondientes del código de tecla
usados para identificar las teclas en ActionScript:
Tecla Código de tecla Código de tecla
ASCII
Retroceso 8 8
Tabulador 9 9
Intro 13 13
Mayús 16 0
Control 17 0
Bloq Mayús 20 0
Esc 27 27
Barra espaciadora 32 32
Re Pág 33 0
Av Pág 34 0
Fin 35 0
Inicio 36 0
Flecha izquierda 37 0
Flecha arriba 38 0
Flecha derecha 39 0
Flecha abajo 40 0
Insert 45 0
Supr 46 127
Bloq Num 144 0
ScrLk 145 0
Pausa/Interr 19 0
; : 186 59
= + 187 61
- _ 189 45
/ ? 191 47
` ~ 192 96
[ { 219 91
\ | 220 92
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 94 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 95 / 109
Tecla Código de tecla Código de tecla
ASCII
] } 221 93
39
44
46
47
" ' 222
, 188
.
/
190
191
AAPPÉÉNNDDIICCEE 22:: RREEFFEERREENNCCIIAASS AA LLAA AACCCCEESSIIBBIILLIIDDAADD EENN LLAA AAYYUUDDAA DDEE FFLLAASSHH 88
En este apéndice se muestran los contenidos de la ayuda de
Flash 8 referentes al desarrollo de aplicaciones accesibles para
usuarios con discapacidad visual.
Creación de accesibilidad con ActionScript
Además de las funciones de accesibilidad que incluye la interfaz
de usuario de Flash, puede crear documentos accesibles con
ActionScript. Para las propiedades de accesibilidad que se aplican a
todo el documento, puede crear o modificar una variable global
denominada _accProps.
Para las propiedades aplicables a un objeto específico, puede
utilizar la sintaxis instancename._accProps. El valor de _accProps es
un objeto que puede incluir alguna de las propiedades siguientes:
Propiedad Tipo Selección equivalente en el panel Accesibilidad Se aplica a
.silent Booleano
Permitir acceso a la película/Hacer que el objeto sea accesible
(lógica inversa)
Documentos enteros Botones
Clips de película Texto dinámico
Introducción de texto
.forceSimple Booleano Hacer que los objetos
secundarios sean accesibles (lógica inversa)
Documentos enteros Clips de película
Dirección de Educación y
Empleo Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 96 / 109
Propiedad Tipo Selección equivalente en el panel Accesibilidad Se aplica a
.name cadena Nombre
Documentos enteros Botones
Clips de película Introducción de texto
.description cadena Descripción
Documentos enteros Botones
Clips de película Texto dinámico
Introducción de texto
.shortcut cadena Métodos abreviados Botones
Clips de película Introducción de texto
NOTA Lógica inversa significa que un valor true en ActionScript
corresponde a una casilla de verificación que no está seleccionada en
el panel Accesibilidad y un valor false en ActionScript corresponde a
una casilla de verificación seleccionada en el panel Accesibilidad.
La modificación de la variable _accProps no tiene ningún efecto
por sí misma. Debe utilizar también el método
Accessibility.updateProperties para informar a los usuarios del lector
de pantalla de los cambios de contenido de Flash. Si se efectúa una
llamada al método, Flash Player volverá a examinar todas las
propiedades de accesibilidad, actualizará las descripciones de las
propiedades para el lector de pantalla y, si es necesario, enviará los
eventos al lector de pantalla que indica que se han producido
cambios.
Cuando se actualizan las propiedades de accesibilidad de varios
objetos a la vez, sólo se tiene que incluir una única llamada a
Accessiblity.updateProperties (si se actualiza con demasiada
frecuencia el lector de pantalla puede que éste dé demasiados
detalles).
Dirección de Educación y
Empleo Grupo ACCEDO
Implementación de la detección del lector de pantalla con el método Accessibility.isActive()
Para crear contenido de Flash que funcione de una forma
específica si un lector de pantalla está activo, puede utilizar el
método ActionScript Accessibility.isActive(), que devuelve un valor
true si hay un lector de pantalla presente y false si no es así. Puede
diseñar el contenido de Flash para que funcione de forma que sea
compatible con el uso del lector de pantalla, por ejemplo ocultando
los elementos subordinados al lector de pantalla.
Por ejemplo, puede utilizar el método Accessibility.isActive()
para decidir si debe incluirse o no animación no solicitada. La
animación no solicitada tiene lugar sin que el lector de pantalla
realice ninguna acción, lo que puede resultar confuso para los
lectores de pantalla.
El método Accessibility.isActive() proporciona una comunicación
asíncrona entre el contenido de Flash y Flash Player, lo que significa
que se puede producir un ligero retardo en tiempo real entre el
momento en que se hace la llamada al método y el momento en que
Flash Player se activa, lo que devolvería un valor incorrecto false.
Para garantizar que la llamada al método se efectúe correctamente,
puede realizar una de las acciones siguientes:
- En lugar de utilizar el método Accessibility.isActive() cuando
el contenido de Flash se reproduzca por primera vez, realice
una llamada al método siempre que tenga que tomar una
decisión respecto a la accesibilidad.
- Introduzca un retardo corto de uno o dos segundos al principio
del documento para dar al contenido de Flash suficiente tiempo
para ponerse en contacto con Flash Player.
Por ejemplo, puede asociar este método a un evento onFocus
para un botón. Por lo general, esto da al archivo SWF tiempo
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 97 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
suficiente para cargarse y se puede presuponer con seguridad que el
usuario de un lector de pantalla se desplazará mediante el tabulador
al primer botón u objeto del escenario.
Utilización de ActionScript para crear un orden de tabulación para objetos accesibles
Además de asignar un índice de tabulación a objetos con el
panel Accesibilidad, puede crear el orden de tabulación con
ActionScript asignando la propiedad tabIndex a los objetos
siguientes:
• Texto dinámico
• Introducción de texto
• Botones
• Clips de película, incluidos los compilados
• Fotogramas de la línea de tiempo
• Pantallas
Si crea un orden de tabulación para un fotograma y no
especifica un orden de tabulación para un objeto accesible del
fotograma, Flash Player ignora todas las asignaciones de orden de
tabulación personalizado. Por consiguiente, debe proporcionar un
orden de tabulación completo para todos los objetos accesibles.
Además, todos los objetos asignados a un orden de tabulación,
excepto los fotogramas, deben tener un nombre de instancia
especificado en el cuadro de texto Nombre de instancia del inspector
de propiedades. Incluso los elementos en los que no se detenga el
tabulador, como el texto, tienen que incluirse en el orden de
tabulación si deben leerse en ese orden.
Puesto que al texto estático no se le puede asignar un nombre
de instancia, no se puede incluir en la lista de valores de la propiedad
tabIndex. Como resultado de ello, si existe una sola instancia de
texto estático en algún lugar del archivo SWF, el orden de lectura
volverá a ser el predeterminado.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 98 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Para especificar un orden de tabulación, debe asignar un
número de orden a la propiedad tabIndex, como se muestra en el
ejemplo siguiente:
_this.myOption1.btn.tabIndex = 1
_this.myOption2.txt.tabIndex = 2
También puede utilizar los métodos tabChildren o tabEnabled
para asignar un orden de tabulación personalizado.
Propiedad _accProps
_accProps.propertyName
instanceName._accProps.propertyName
Permite controlar las opciones de accesibilidad del lector de
pantalla para archivos SWF, clips de película, botones, campos de
texto dinámico y campos de texto de entrada en tiempo de ejecución.
Estas propiedades sustituyen la configuración correspondiente
disponible en el panel Accesibilidad durante la edición. Para que los
cambios realizados en estas propiedades surtan efecto, debe llamar a
Accessibility.updateProperties().
Para determinar si el reproductor se está ejecutando en un
entorno que admite elementos de accesibilidad, utilice el método
System.capabilities.hasAccessibility().
La tabla siguiente muestra el nombre y el tipo de datos de cada
propiedad _accProps, su configuración equivalente en el panel
Accesibilidad y los tipos de objetos a los que puede aplicarse la
propiedad. El término lógica inversa significa que la configuración de la
propiedad es inversa a la configuración correspondiente del panel
Accesibilidad. Por ejemplo, establecer la propiedad silent en true
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 99 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
equivale a desactivar la opción Permitir acceso a la película o Hacer
que el objeto sea accesible.
Propiedad Tipo de datos
Equivalente en el panel Accesibilidad Se aplica a
silent Boolean
Permitir acceso a la película/Hacer que el objeto sea accesible (lógica inversa)
Archivos SWF completos Clips de película Botones Texto dinámico Texto de entrada
forceSimple Boolean Hacer que los objetos secundarios sean accesibles (lógica inversa)
Archivos SWF completos Clips de película
name String Nombre
Archivos SWF completos Clips de película Botones Texto de entrada
description String Descripción
Archivos SWF completos Clips de película Botones Texto dinámico Texto de entrada
shortcut String Métodos abreviados Clips de película Botones Texto de entrada
En el campo Método abreviado, utilice nombres con el formato
Control+A. Cuando se añade un método abreviado del teclado al
panel Accesibilidad, no se crea un método abreviado del teclado sino
que simplemente se avisa a los lectores de pantalla de la existencia
de un método abreviado.
Para especificar la configuración correspondiente al valor de
Índice de fichas en el panel Accesibilidad, utilice las propiedades
Button.tabIndex, MovieClip.tabIndex o TextField.tabIndex.
No es posible especificar el valor de Etiquetado automático en
tiempo de ejecución.
Para hacer referencia al objeto _accProps que representa todo
el documento de Flash, omita el parámetro instanceName. El valor de
_accProps debe ser un objeto. Esto significa que si no existe ya un
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 100 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
objeto _accProps, debe crearlo, tal y como se muestra en el siguiente
ejemplo, para poder asignar valores a las propiedades del objeto
_accProps:
if ( _accProps == undefined )
{
_accProps = new Object();
}
_accProps.name = "My SWF file";
Cuando _accProps se utiliza sin el parámetro instanceName , los
cambios realizados en las propiedades _accProps se aplican a todo el
archivo SWF. Por ejemplo, el siguiente código establece la propiedad
de name de accesibilidad de todo el documento SWF en la cadena "Pet
Store" y, a continuación, llama a Accessibility.updateProperties() para
provocar el cambio:
_accProps.name = "Pet Store";
Accessibility.updateProperties();
Por el contrario, el siguiente código establece la propiedad de
name de un clip de película con el nombre de instancia price_mc en la
cadena "Price":
price_mc._accProps.name = "Price";
Accessibility.updateProperties();
Si especifica varias propiedades de accesibilidad, realice todo los
cambios que pueda antes de llamar a
Accessibility.updateProperties(), en lugar de realizar la llamada
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 101 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
después de cada sentencia de propiedad, tal y como se muestra en el
siguiente ejemplo:
_accProps.name = "Pet Store";
animal_mc._accProps.name = "Animal";
animal_mc._accProps.description = "Cat, dog, fish, etc.";
price_mc._accProps.name = "Price";
price_mc._accProps.description = "Cost of a single item";
Accessibility.updateProperties();
Si no especifica una propiedad de accesibilidad para un
documento u objeto, se implementan los valores establecidos en el
panel Accesibilidad.
Una vez especificada una propiedad de accesibilidad, no es
posible recuperar el valor establecido en el panel Accesibilidad. Sin
embargo, puede establecer el valor predeterminado de la propiedad
(false para valores booleanos; cadenas vacías para valores de
cadena) eliminando la propiedad del objeto _accProps, tal y como se
muestra en el siguiente ejemplo:
my_mc._accProps.silent = true; // set a property
// other code here
delete my_mc._accProps.silent; // revert to default value
El valor de _accProps debe ser un objeto. Esto significa que si
no existe ya un objeto _accProps, debe crearlo para poder asignar
indicaciones a las propiedades del objeto _accProps.
if (_accProps == undefined)
{
_accProps = new Object();
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 102 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
}
_accProps.name = "My movie";
Disponibilidad: Flash Player 6,0,65,0; ActionScript 1.0
Parámetros
propertyName: Boolean or String - Nombre de la propiedad de
accesibilidad (véase la siguiente descripción de nombres
válidos). instanceName
instanceName: String - Nombre de instancia asignado a una instancia
de un clip de película, botón, campo de texto dinámico o
campo de texto de entrada. Para hacer referencia al objeto
_accProps que representa todo el documento de Flash, omita
el parámetro instanceName .
Ejemplo
Si cambia una imagen y desea actualizar su descripción de
accesibilidad, puede utilizar el siguiendo código ActionScript:
my_mc.gotoAndStop(2);
if (my_mc._accProps == undefined ) {
my_mc._accProps = new Object();
}
my_mc._accProps.name = "Photo of Mount Rushmore";
Accessibility.updateProperties();
isActive (Método Accessibility.isActive)
public static isActive() : Boolean
Indica si una ayuda de accesibilidad está activa actualmente y
el reproductor se está comunicando con ella. Utilice este método
cuando desee que la aplicación se comporte de forma diferente en
presencia de un lector de pantalla u otra ayuda de accesibilidad.
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 103 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Nota: Si llama a este método en un período de uno o dos
segundos desde la primera aparición de la ventana de Flash en la que
se está reproduciendo el documento, es posible que se devuelva el
valor false aunque haya activo un cliente Microsoft Active Accessibility
(MSAA). Esto se debe a que el mecanismo de comunicación entre
Flash y los clientes MSAA es asíncrono. Puede evitar esta limitación
asegurándose de que se produce un retardo de entre uno y dos
segundos tras la carga del documento antes de llamar a este método.
Disponibilidad: ActionScript 1.0; Flash Player 6
Valor devuelto
Boolean - Valor booleano: true si Flash Player está
comunicando con una ayuda de accesibilidad (normalmente un lector
de pantalla); false en cualquier otro caso.
Ejemplo
El ejemplo siguiente comprueba si está activa actualmente una
ayuda de accesibilidad:
if (Accessibility.isActive()) {
trace ("An accessibility aid is currently active");
} else {
trace ("There is currently no active accessibility aid");
}
updateProperties (método Accessibility.updateProperties)
public static updateProperties() : Void
Hace que todos los cambios realizados en t_accProps
(propiedades de accesibilidad) surtan efecto
Si modifica las propiedades de accesibilidad para múltiples
objetos, sólo será necesaria una llamada a
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 104 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Accessibility.updateProperties(); si se producen múltiples llamadas,
podría producirse una reducción en el rendimiento y podrían
originarse resultados ininteligibles en el lector de pantalla.
Disponibilidad: ActionScript 1.0; Flash Player 6,0,65,0
Ejemplo:
Si cambia una imagen y desea actualizar su descripción de
accesibilidad, puede utilizar el siguiendo código ActionScript:
my_mc.gotoAndStop(2);
if (my_mc._accProps == undefined ) {
my_mc._accProps = new Object();
}
my_mc._accProps.name = "Photo of Mount Rushmore";
Accessibility.updateProperties();
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 105 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 106 / 109
ÍÍNNDDIICCEE
1. INTRODUCCIÓN ...................................................................................... 1
2. EL INTERFACE DE FLASH ...................................................................... 2
MENÚS ....................................................................................................... 3
Menú Archivo ................................................................... 3
Menú Insertar .................................................................. 4
Menú Modificar ................................................................. 5
Menú Ventana .................................................................. 5
HERRAMIENTAS DE DIBUJO .................................................................. 6
Herramienta línea ............................................................. 6
Herramienta Lápiz............................................................. 6
Herramienta Óvalo ............................................................ 7
Herramienta Rectángulo .................................................... 7
Herramienta Texto ............................................................ 7
Herramienta Transformación libre ....................................... 8
Herramienta Bote de tinta .................................................. 8
Herramienta Cubo de pintura.............................................. 8
Herramienta Transformar relleno ........................................ 8
Herramienta Cuentagotas .................................................. 8
Herramienta Borrador........................................................ 9
PANELES .................................................................................................... 9
Muestras de color.............................................................. 9
Mezclador de colores ....................................................... 10
Propiedades ................................................................... 10
Biblioteca....................................................................... 10
ESCENARIO............................................................................................. 11
¿Qué es el escenario? ...................................................... 11
Propiedades ................................................................... 12
LÍNEA DE TIEMPO.................................................................................. 13
Fotogramas.................................................................... 14
Capas............................................................................ 15
Interpolaciones............................................................... 17
Dirección de Educación y
Empleo Grupo ACCEDO
3. SÍMBOLOS ............................................................................................. 18
GRÁFICOS ............................................................................................... 19
BOTONES ................................................................................................ 20
CLIPS DE PELÍCULA .............................................................................. 21
4. ACCESIBILIDAD UTILIZANDO REVISORES DE PANTALLA ........... 22
RESTRICCIONES EN CUANTO A LA ACCESIBILIDAD...................... 23
PROPIEDADES DE ACCESIBILIDAD.................................................... 23
EL PANEL DE ACCESIBILIDAD............................................................. 24
Para una película Flash......................................................................... 24
Para los objetos que soportan opciones de accesibilidad .............. 26
5. ACTIONSCRIPT 2.0 .............................................................................. 27
¿QUÉ ES ACTIONSCRIPT? .................................................................... 27
DIFERENCIAS ENTRE ACTIONSCRIPT Y JAVASCRIPT .................... 28
PANEL DE ACCIONES ............................................................................ 28
Ventana de acciones........................................................ 29
Referencia rápida............................................................ 29
Ventana de acceso a acciones........................................... 30
Barra de botones de la ventana acciones............................ 30
EL LENGUAJE ACTIONSCRIPT ............................................................. 31
Comentarios................................................................... 31
Palabras reservadas ........................................................ 32
Variables ....................................................................... 33
Expresiones ................................................................... 34
Operadores aritméticos.................................................... 35
Operadores de comparación ............................................. 36
Operadores de asignación ................................................ 37
Operador new ................................................................ 37
Condicionales ................................................................. 38
Bucles ........................................................................... 40
Funciones ...................................................................... 43
Arrays ........................................................................... 45
Acciones en ActionScript .................................................. 47
Funciones globales .......................................................... 47
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 107 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Propiedades y métodos de los objetos más importantes en ActionScript ........................................................... 49
Objeto Array ............................................................... 50
Objeto String .............................................................. 51
Objeto Button ............................................................. 52
Objeto MovieClip.......................................................... 54
Objeto Mouse .............................................................. 57
6. ACCESIBILIDAD EN FLASH................................................................. 58
CONTROL DE TECLADO ........................................................................ 58
Objet Key ...................................................................... 58
Evento keyPress()........................................................... 60
SONIDOS................................................................................................. 60
Objeto Sound ................................................................. 61
RECOMENDACIONES ÚTILES PARA DESARROLLAR APLICACIONES ACCESIBLES ........................................................................................... 62
7. CREACIÓN DE APLICACIONES EDUCATIVAS ACCESIBLES .......... 63
ELEMENTOS COMUNES......................................................................... 63
Inserción de sonidos en fotogramas................................... 64
Repetición automática de mensajes a lo largo del tiempo...... 66
Desarrollo de mecanismos de manejo con teclado ............... 67
Generación de números aleatorios..................................... 70
Cambio de aspecto del puntero del ratón............................ 72
Inserción y control de vídeos ............................................ 73
Comportamiento de clips de película como botones.............. 75
ACTIVIDADES DE SELECCIÓN ............................................................ 77
ACTIVIDADES DE ARRASTRAR ........................................................... 79
Arrastrar........................................................................ 80
Coger y soltar................................................................. 81
ACTIVIDADES DE ASOCIACIÓN.......................................................... 82
ACTIVIDADES DE TEXTO ..................................................................... 86
Rellenar huecos. ............................................................. 86
Arrastrar palabras........................................................... 87
ACTIVIDADES DE PREGUNTAS.......................................... 87
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 108 / 109
Dirección de Educación y
Empleo Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 109 / 109
APÉNDICE 1: LISTA DE CÓDIGOS DE TECLADO EN FLASH.............. 90
Letras de la A a la Z y números estándar del 0 al 9....................... 90
Teclas del teclado numérico ................................................................ 92
Teclas de función ................................................................................... 93
Otras teclas ................................................................... 93
APÉNDICE 2: REFERENCIAS A LA ACCESIBILIDAD EN LA AYUDA DE FLASH 8....................................................................................................... 95
Creación de accesibilidad con ActionScript....................................... 95
Implementación de la detección del lector de pantalla con el método Accessibility.isActive() ........................................................... 97
Utilización de ActionScript para crear un orden de tabulación para objetos accesibles.................................................................................. 98
Parámetros............................................................................................ 103
isActive (Método Accessibility.isActive)........................................... 103
Valor devuelto ...................................................................................... 104
updateProperties (método Accessibility.updateProperties)......... 104