• No results found

PLASTERING SUBCONTRACTORS

BUILDING TECHNICAL SPECIFICATIONS

PART 3 EXECUTION 3.01 GENERAL:

2.1 PLASTERING SUBCONTRACTORS

Este tipo de actividades también son muy usadas, y para alumnos ciegos la única forma de poder realizarlas es mediante el uso de una tableta digitalizadora.

Antes de nada es necesario recalcar que en Flash los únicos objetos que se pueden arrastrar son los clips de película, con lo cual este tipo de aplicaciones se basarán en ellos.

Otro aspecto importante de este tipo de actividades, es que se deberá controlar la posición del puntero del ratón, de otro modo no se podrá controlar si el alumno ha arrastrado el objeto al lugar correcto. Para esto en ActionScript se utilizan las propiedades _xmouse e _ymouse del escenario.

Por tanto para conocer la posición del puntero del ratón se utilizará:

_root._xmouse _root._ymouse

Estas actividades tienen dos modos de funcionamiento:

-Arrastrar: al hacer click sobre un objeto, éste se arrastra hasta que se suelta el botón del ratón.

-Coger y soltar: Al hacer click con el ratón comienza a arrastrarse el objeto, pero se suelta el botón del ratón y el objeto sigue arrastrándose hasta que se vuelve a hacer click sobre él.

La decisión de qué modalidad desarrollar depende de la actividad y la edad de los alumnos a los que va dirigida, aunque normalmente para alumnos ciegos, que la deberán resolver con una tableta digitalizadora, resulta más sencilla la opción de coger y soltar.

Sea cual sea el tipo de actividad de arrastrar, un detalle importante que se debe tener en cuenta a la hora de la accesibilidad, es que cuando se comienza a arrastrar un objeto, se debe guardar su posición original, para devolverlo a la misma en el caso de que el alumno no lo lleve al lugar correcto, esto es debido a que en la lámina en relieve la posición del objeto no cambiará, y por tanto si éste se queda perdido por la pantalla el alumno será incapaz de localizarlo mediante la lámina en relieve.

Si bien la forma de implementar los dos tipos de mecanismos es muy similar, se verán por separado ya que hay algunas diferencias que se deben tener en cuenta.

Arrastrar

Los eventos que se deben controlar son onRollOver, onPress y onRelease veamos qué se debe hacer en cada uno de ellos:

- rollOver: Se lanzará una locución descriptiva del objeto.

- Press: Se guardan las posiciones x e y del objeto en dos variables numéricas. Se emite un sonido identificativo de que “se ha cogido” el objeto, y se comienza a arrastrar, mediante el método startDrag().

- Release: Se comprueba si el puntero del ratón está dentro del área correcta. Si la posición es correcta se emite un sonido de acierto y se trata el acierto (como veremos al final de este apartado). Si la posición del puntero del ratón no es correcta, Desarrollo de aplicaciones educativas accesibles en flash (mcd) Pág 80 / 109

se deja de arrastrar el objeto, y se devuelve a su posición inicial, asignando a sus propiedades _x e _y los valores de las dos variables numéricas en donde se había guardado esta posición inicial. Por supuesto se debe emitir un sonido de fallo.

Coger y soltar

Los eventos que se deben controlar son onRollOver y onPress, además se debe utilizar una variable booleana que se usará para saber si el objeto está o no siendo arrastrado. Veamos qué acciones se deben realizar cuando se producen estos eventos:

- rollOver: Se lanza una locución descriptiva del objeto.

- Press: Si la variable booleana asociada a ese objeto tiene el valor false (no se está arrastrando el objeto), se lanza un sonido identificativo de coger el objeto, se pone la variable booleana al valor true, se guardan las posiciones x e y del objeto en dos variables numéricas y se comienza a arrastrar el objeto. En el caso de que la variable booleana tenga el valor true (ya se está arrastrando el objeto), se deja de arrastrar, se comprueba si la posición del puntero del ratón está dentro del área correcta, en cuyo caso se trata el acierto, y en caso contrario se produce un sonido de fallo, se asigna el valor false a la variable booleana del objeto, y se devuelve a éste a su posición original.

Por último para terminar con este tipo de actividades falta explicar cómo podemos tratar el acierto, para lo cual tenemos varias opciones de las cuales aquí se exponen dos:

1. Al acertar se puede hacer que el objeto deje de estar visible, y habilitado mediante las propiedades _visible y enabled. En este caso deberán existir unos botones que situaremos debajo de los objetos en el escenario (en sus mismas posiciones originales), y cuya única misión sea lanzar una locución en el evento rollOver

informando al usuario de que el objeto de esa posición ya ha sido arrastrado.

2. Al clip de película correspondiente a cada objeto, se le puede asignar una locución que avise de que ya ha sido arrastrado en un fotograma determinado, por ejemplo el 2. En este caso cuando se acierta, el objeto vuelve a su posición original, y se pone en el fotograma 2.

Por supuesto para utilizar este procedimiento, se debe controlar en los eventos rollOver y Press, en qué fotograma se encuentra el objeto, ya que si está en el 2 la locución que se lanzará será de aviso de que ya se ha arrastrado, y en el caso del evento Press no se hará nada, ya que se supone que el objeto ya ha sido arrastrado a su lugar correspondiente.