Flash educacion

109
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 1. INTRODUCCIÓN 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

description

 

Transcript of Flash educacion

Page 1: Flash educacion

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

Page 2: Flash educacion

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.

Page 3: Flash educacion

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

Page 4: Flash educacion

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

Page 5: Flash educacion

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

Page 6: Flash educacion

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

Page 7: Flash educacion

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

Page 8: Flash educacion

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

Page 9: Flash educacion

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

Page 10: Flash educacion

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

Page 11: Flash educacion

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

Page 12: Flash educacion

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

Page 13: Flash educacion

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

Page 14: Flash educacion

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

Page 15: Flash educacion

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

Page 16: Flash educacion

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

Page 17: Flash educacion

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

Page 18: Flash educacion

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

Page 19: Flash educacion

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

Page 20: Flash educacion

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

Page 21: Flash educacion

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

Page 22: Flash educacion

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.

Page 23: Flash educacion

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

Page 24: Flash educacion

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

Page 25: Flash educacion

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

Page 26: Flash educacion

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

Page 27: Flash educacion

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:

Page 28: Flash educacion

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

Page 29: Flash educacion

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

Page 30: Flash educacion

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

Page 31: Flash educacion

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

Page 32: Flash educacion

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

Page 33: Flash educacion

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

Page 34: Flash educacion

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

Page 35: Flash educacion

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

Page 36: Flash educacion

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

Page 37: Flash educacion

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

Page 38: Flash educacion

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

Page 39: Flash educacion

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

Page 40: Flash educacion

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

Page 41: Flash educacion

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

Page 42: Flash educacion

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

Page 43: Flash educacion

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

Page 44: Flash educacion

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

Page 45: Flash educacion

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

Page 46: Flash educacion

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

Page 47: Flash educacion

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

Page 48: Flash educacion

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

Page 49: Flash educacion

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

Page 50: Flash educacion

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

Page 51: Flash educacion

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

Page 52: Flash educacion

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

Page 53: Flash educacion

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

Page 54: Flash educacion

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

Page 55: Flash educacion

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

Page 56: Flash educacion

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

Page 57: Flash educacion

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

Page 58: Flash educacion

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.

Page 59: Flash educacion

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

Page 60: Flash educacion

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

Page 61: Flash educacion

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

Page 62: Flash educacion

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

Page 63: Flash educacion

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

Page 64: Flash educacion

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

Page 65: Flash educacion

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

Page 66: Flash educacion

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

Page 67: Flash educacion

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

Page 68: Flash educacion

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

Page 69: Flash educacion

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

Page 70: Flash educacion

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

Page 71: Flash educacion

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

Page 72: Flash educacion

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

Page 73: Flash educacion

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

Page 74: Flash educacion

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

Page 75: Flash educacion

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

Page 76: Flash educacion

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

Page 77: Flash educacion

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

Page 78: Flash educacion

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

Page 79: Flash educacion

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

Page 80: Flash educacion

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

Page 81: Flash educacion

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

Page 82: Flash educacion

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

Page 83: Flash educacion

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

Page 84: Flash educacion

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

Page 85: Flash educacion

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

Page 86: Flash educacion

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

Page 87: Flash educacion

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

Page 88: Flash educacion

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

Page 89: Flash educacion

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

Page 90: Flash educacion

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

Page 91: Flash educacion

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

Page 92: Flash educacion

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

Page 93: Flash educacion

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

Page 94: Flash educacion

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

Page 95: Flash educacion

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

Page 96: Flash educacion

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).

Page 97: Flash educacion

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

Page 98: Flash educacion

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

Page 99: Flash educacion

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

Page 100: Flash educacion

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

Page 101: Flash educacion

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

Page 102: Flash educacion

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

Page 103: Flash educacion

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

Page 104: Flash educacion

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

Page 105: Flash educacion

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

Page 106: Flash educacion

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

Page 107: Flash educacion

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

Page 108: Flash educacion

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

Page 109: Flash educacion

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