Aplicació de funcions trigonomètriques per a controlar els moviments i la orientació dels clips de pel·lícula. Continuació. | ||
|
||
En
aquesta quarta pràctica continuareu amb les funcions trigonomètriques
i coneixements adquirits en les primeres pràctiques (distàncies,
punts de registre, girs...) per a desenvolupar una aplicació força
curiosa en la que simulareu una eina (compàs) que de forma virtual
dibuixarà circunferències amb radis definits per l'usuari. |
||
Els objectius d'aquesta quarta pràctica són: | ||
|
||
Per dur a terme aquesta pràctica necessitareu l'arxiu compas0.FLA. | ||
Desenvolupament de la pràctica | ||
Creació d'una aplicació de simulació d'un compàs virtual. | ||
Com podeu observar jugant una mica amb el programa que es mostra, es tractarà de programar les accions a realitzar per a l'element corresponent per a que faci aquestes simulacions:
|
||
Per tal de facilitar la comprensió de la pràctica i del corresponent codi observeu els aspectes següents: | ||
|
||
» Inseriu el codi d'inicialització de les variables que s'utilitzaran al programa i que nireu esbrinant a mesura que es vagi programant el codi: | ||
|
||
» Inseriu el següent codi a les accions del botó amb la icona de compàs tancat: | ||
|
||
» Feu el mateix al segon botó (compàs obert), però utilitzant la variable j i el mateix amb el botó de gir utilitant la variable g. En els tres botons les variables corresponents actuen com a interruptors per activar o desactivar les accions que hauran de realitzar. | ||
» Inseriu el següent codi en el clip que es troba fora de l'escenari i que controlaran les accions activades pels botons: tancar, obrir, girar. | ||
|
||
Observeu que per a que l'obertura, tancament, gir... siguin continuats les accions s'inclouen dins l'evento enterFrame respectivament. En cas de que les varibles interruptors estiguin activades realitzaran les accions d'obrir o tancar el compàs fins el límit posat per la condició (no més de 90 graus d'obrtura ni menys de 0 graus de tancament). Ara necessiteu que el compàs es pugui arrossegar per l'escenari. Com un clip de pel·lícula no es sensible en principi a les accions del ratolí, i si als eventos, l'arrossegament del clip de pel·lícula el prodreu aconseguir amb l'evento mouseDown i mouseUp quan es dectecti la col·lísió del ratolí sobre el compàs. » Inseriu el següent codi a les accions del clip de pel·lícula compàs: |
||
|
||
En l'evento load s'utilitza el mètode swapDepths() ja explicat en el mòdul 3 amb la finalitat de que el compàs estigui sempre per sobre de les línies que dibuixa. Per a finalitzar programareu l'acció de dibuixar la circumferència. Això implica seguir un procediment que constarà de quatre fases:
|
||
Ara s'inclou el codi de aquestes 4 fases en blocs. | ||
on (release) { // Bloc 1 // Bloc 2 // Bloc
3 // Bloc 4 |
||
Observeu que el bloc tres té les condicions necessàries per a evitar errors en cas que el compàs estigui girat de forma que les coordenades dels clips de pel·lícula agull i rotring pugin ser de signe negatiu i el càlcul de les distàncies no seria correcte. Mereix especial atenció el quart bloc del codi, on l'acció que es repeteix 360 vegades situa el clip bola en les coordenades X i Y, utilitzant la funció cos() que fa referència a l'eix X i sin() que fa referència a l'eix Y. Ja que la funció Math.cos() treballa en radians s'ha de convertir en graus ((a/180)*Math*PI). El radi de l circumferència ve donat per la distància calculada i el centre de la mateixa ve donat per les variables globals x, y. |
||
Una vegada es situa el clip de pel·lícula bola es procedeix a la seva duplicació en el seu nivell correponent. Observeu que no heu dotat de codi els botons de colors, ja que aquest apartat de tractament de colors es treballarà al mòdul 7 on podeu completar tota l'aplicació como es pot veure en el programa que es mostra en aquesta pràctica. Deseu l'arxiu després de comprovar el seu funcionament amb el nom compas1. |
||