Dirección de Educación y
Empleo
Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 1 / 109
D...
Dirección de Educación y
Empleo
Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 2 / 109
-...
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 ...
Dirección de Educación y
Empleo
Grupo ACCEDO
generado un fichero que se podrá visualizar fuera del entorno de
desarrollo d...
Dirección de Educación y
Empleo
Grupo ACCEDO
- Efectos de línea de tiempo
Mediante esta opción podemos modificar la aparie...
Dirección de Educación y
Empleo
Grupo ACCEDO
Más adelante veremos en profundidad los paneles más
importantes con que cuent...
Dirección de Educación y
Empleo
Grupo ACCEDO
Herramienta Óvalo
Mediante esta opción podemos dibujar un óvalo, si se mantie...
Dirección de Educación y
Empleo
Grupo ACCEDO
Herramienta Transformación libre
Con esta herramienta se puede transformar un...
Dirección de Educación y
Empleo
Grupo ACCEDO
ejemplo un relleno, en otro objeto que vaya a tener el mismo relleno,
sin fal...
Dirección de Educación y
Empleo
Grupo ACCEDO
Mezclador de colores
Este panel es semejante al anterior, y de hecho suelen
a...
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...
Dirección de Educación y
Empleo
Grupo ACCEDO
El escenario es el rectángulo blanco que aparece en el centro de
la pantalla ...
Dirección de Educación y
Empleo
Grupo ACCEDO
Dimensiones: Son las medidas de ancho y alto que va a tener la
película.
Coin...
Dirección de Educación y
Empleo
Grupo ACCEDO
Por tanto es imprescindible en la fase de desarrollo tener
alguna herramienta...
Dirección de Educación y
Empleo
Grupo ACCEDO
aspecto gráfico son los que marcan que hay cambios en los objetos
que contien...
Dirección de Educación y
Empleo
Grupo ACCEDO
Con el fin de simplificar, se puede decir que una capa es como
un escenario t...
Dirección de Educación y
Empleo
Grupo ACCEDO
Interpolaciones
Son fundamentales para dotar de animación a objetos de una
pe...
Dirección de Educación y
Empleo
Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 18 / 109
...
Dirección de Educación y
Empleo
Grupo ACCEDO
podemos darle un nombre al símbolo, por defecto aparecerá Símbolo
1, y selecc...
Dirección de Educación y
Empleo
Grupo ACCEDO
Son adecuados para mostrar imágenes estáticas o animaciones
muy simples.
Es i...
Dirección de Educación y
Empleo
Grupo ACCEDO
responderá a acciones del ratón. Pero la potencia de los botones en
cuanto a ...
Dirección de Educación y
Empleo
Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 22 / 109
...
Dirección de Educación y
Empleo
Grupo ACCEDO
RESTRICCIONES EN CUANTO A LA ACCESIBILIDAD
En cuanto a la accesibilidad en Fl...
Dirección de Educación y
Empleo
Grupo ACCEDO
- Descripción
- Orden de tabulación
- Hacer el objeto accesible o no
- Hacer ...
Dirección de Educación y
Empleo
Grupo ACCEDO
Figura 3: Panel de accesibilidad para la película Flash
Veamos qué nos permit...
Dirección de Educación y
Empleo
Grupo ACCEDO
- Nombre: Es el nombre que leerá el revisor de pantalla cuando
el objeto reci...
Dirección de Educación y
Empleo
Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 27 / 109
...
Dirección de Educación y
Empleo
Grupo ACCEDO
- Conseguir mayor control sobre los clips de película y sus
propiedades.
- An...
Dirección de Educación y
Empleo
Grupo ACCEDO
Figura 5: Panel de Acciones.
En este panel se pueden diferenciar cuatro parte...
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 tr...
Dirección de Educación y
Empleo
Grupo ACCEDO
- Asistente de script: Muestra una zona de asistencia en el panel
Acciones, q...
Dirección de Educación y
Empleo
Grupo ACCEDO
funcionamiento del código una vez que ha pasado un tiempo desde su
generación...
Dirección de Educación y
Empleo
Grupo ACCEDO
break case class continue
default delete dynamic else
extends for function ge...
Dirección de Educación y
Empleo
Grupo ACCEDO
var edad = 25;
Una vez visto cómo se crean las variables es necesario recalca...
Dirección de Educación y
Empleo
Grupo ACCEDO
conocemos el valor de edad_padre no podemos asignarle un valor
fijo.
var edad...
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 div...
Dirección de Educación y
Empleo
Grupo ACCEDO
Operador Descripción
== Igual a
!= No es igual a
> Es mayor que
>= Es mayor o...
Dirección de Educación y
Empleo
Grupo ACCEDO
que sea un objeto de tipo Sound (sonido), usaremos la siguiente
sintaxis:
var...
Dirección de Educación y
Empleo
Grupo ACCEDO
}
else{
acciones si condición es falso
}
Por último estas estructuras condici...
Dirección de Educación y
Empleo
Grupo ACCEDO
En esta construcción cada case representa cada uno de los
posibles valores qu...
Dirección de Educación y
Empleo
Grupo ACCEDO
condición, si se cumple se vuelven a realizar las acciones, y así hasta
que l...
Dirección de Educación y
Empleo
Grupo ACCEDO
for (valor inicial; condición; modificar valor){
acciones;
}
Donde valor inic...
Dirección de Educación y
Empleo
Grupo ACCEDO
Funciones
Son un elemento indispensable en cualquier lenguaje de
programación...
Dirección de Educación y
Empleo
Grupo ACCEDO
Nombre(valor1, valor2, …);
Donde Nombre es el nombre que se le haya dado a la...
Dirección de Educación y
Empleo
Grupo ACCEDO
//Esta instrucción muestra en la ventana de salida
//el área de un rectángulo...
Dirección de Educación y
Empleo
Grupo ACCEDO
var vector:Array = new Array(n);
Con esta otra modalidad, el array tampoco co...
Dirección de Educación y
Empleo
Grupo ACCEDO
Por tanto para referirnos a un elemento de un array debemos
escribir el nombr...
Dirección de Educación y
Empleo
Grupo ACCEDO
fscommand(“comando”, “argumento”);
En la siguiente tabla se muestran los coma...
Dirección de Educación y
Empleo
Grupo ACCEDO
a) _self: La misma ventana que contiene la película Flash.
b) _blank: Abre un...
Dirección de Educación y
Empleo
Grupo ACCEDO
Objeto Array
La única propiedad que posee el objeto Array es length, que
perm...
Dirección de Educación y
Empleo
Grupo ACCEDO
se van a eliminar, y los valores son los elementos que se van a
agregar.
toSt...
Dirección de Educación y
Empleo
Grupo ACCEDO
toLowerCase(): Devuelve la misma cadena con todos los
caracteres en minúscula...
Dirección de Educación y
Empleo
Grupo ACCEDO
enabled: Es un valor booleano que determina si el objeto está
activado o no.
...
Dirección de Educación y
Empleo
Grupo ACCEDO
ningún objeto seleccionado este parámetro tendrá el
valor null.
onPress: Hace...
Dirección de Educación y
Empleo
Grupo ACCEDO
getBytesTotal(): Devuelve el tamaño en bytes del clip de
película.
getDepth()...
Dirección de Educación y
Empleo
Grupo ACCEDO
Además de estos métodos el objeto MovieClip cuenta con otros
métodos llamado ...
Dirección de Educación y
Empleo
Grupo ACCEDO
onKillFocus: Se invoca cuando un clip de película ya no se
selecciona con el ...
Dirección de Educación y
Empleo
Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 58 / 109
...
Dirección de Educación y
Empleo
Grupo ACCEDO
Las propiedades de este objeto son constantes y representan
los códigos de la...
Dirección de Educación y
Empleo
Grupo ACCEDO
Los eventos del objeto Key son los dos que se explican a
continuación:
onKeyD...
Dirección de Educación y
Empleo
Grupo ACCEDO
Flash es una herramienta muy potente a la hora de manejar
sonidos, para ello ...
Dirección de Educación y
Empleo
Grupo ACCEDO
Por último los eventos que afectan al objeto Sound son:
.onLoad
Se invoca aut...
Dirección de Educación y
Empleo
Grupo ACCEDO
Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 63 / 109
...
Dirección de Educación y
Empleo
Grupo ACCEDO
vista de que el objetivo final es que la aplicación sea accesible para
person...
Dirección de Educación y
Empleo
Grupo ACCEDO
Figura 6: Panel de propiedades de fotograma.
Es necesario destacar que si lo ...
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 e...
Dirección de Educación y
Empleo
Grupo ACCEDO
interacción por parte del usuario, el clip de película creado para
reproducir...
Dirección de Educación y
Empleo
Grupo ACCEDO
Manejo con flecha arriba y abajo y barra espaciadora
Mediante este sistema al...
Dirección de Educación y
Empleo
Grupo ACCEDO
}
}
on (keyPress “<Down>”){
if (foco <= 1 ){
foco = n;
}
else{
foco--;
}
}
on...
Dirección de Educación y
Empleo
Grupo ACCEDO
Manejo con determinadas teclas del teclado
Mediante este mecanismo se pueden ...
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Flash educacion
Upcoming SlideShare
Loading in …5
×

Flash educacion

713 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
713
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Flash educacion

  1. 1. 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
  2. 2. 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.
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. 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.
  23. 23. 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
  24. 24. 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
  25. 25. 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
  26. 26. 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
  27. 27. 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:
  28. 28. 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
  29. 29. 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
  30. 30. 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
  31. 31. 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
  32. 32. 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
  33. 33. 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
  34. 34. 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
  35. 35. 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
  36. 36. 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
  37. 37. 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
  38. 38. 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
  39. 39. 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
  40. 40. 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
  41. 41. 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
  42. 42. 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
  43. 43. 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
  44. 44. 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
  45. 45. 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
  46. 46. 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
  47. 47. 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
  48. 48. 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
  49. 49. 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
  50. 50. 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
  51. 51. 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
  52. 52. 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
  53. 53. 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
  54. 54. 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
  55. 55. 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
  56. 56. 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
  57. 57. 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
  58. 58. 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.
  59. 59. 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
  60. 60. 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
  61. 61. 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
  62. 62. 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
  63. 63. 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
  64. 64. 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
  65. 65. 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
  66. 66. 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
  67. 67. 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
  68. 68. 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
  69. 69. 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
  70. 70. 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

×