Creació d'objectes de color i el seu tractament | ||
|
||
Per començar, inicieu la pràctica completant el programa de la pràctica 4 del mòdul 5, on heu de dotar el compàs de la possibilitat de traçar les circumferències amb els colors dels botons corresponents. Amb aquesta pràctica, treballareu els continguts següents: Creació d'objectes new Color i integració en mètodes personalitzats (funcions prototype). Creació d'objectes de color avançats. |
||
Desenvolupament de la pràctica | ||
» Recupereu l'arxiu de la pràctica 4 del mòdul 5, que correspon al programa compas1.fla. Recordeu que el clip de pel·lícula bola té el color original negre, i quan es duplica fent la línia de la circumferència, ho fa amb aquest color. Si canvieu el color d'aquest clip, aconseguireu que les línies que traça el compàs siguin del color desitjat. El codi hexadecimal de cada color el podeu obtenir en el botó color de la barra d'eines, on el color que seleccioneu està indicat amb el codi numèric hexadecimal del requadre superior. En el cas dels vostres botons, els codis són:
|
||
» El codi que heu d'inserir a cada botó serà el següent: | ||
|
||
En aquest codi, assigneu a la variable meucolor el contingut de l'objecte creat per new Color i assignat al clip de pel·lícula bola. El mètode setRGB treballa amb nombres decimals, i els codis de color estan en base hexadecimal, això vol dir que s'ha de fer la conversió. Aquesta s'aconsegueix amb la inserció del prefix 0x davant el codi hexadecimal. » Inseriu el mateix codi a cada botó canviant el codi hexadecimal corresponent. |
||
Com a programadors, podeu esbrinar que, si cada vegada que voleu canviar el color d'un clip de pel·lícula creant l'objecte cada vegada que es canvia el color amb l'assignació corresponent en nombre hexadecimal que heu de conèixer prèviament, és una tasca poc optimitzada. Per aquesta raó, és convenient crear una funció personalitzada que faci totes les tasques de forma automatitzada. Un bon camí és utilitzar les funcions prototype, que creen mètodes personalitzats que es poden aplicar de manera universal a qualsevol clip de pel·lícula. » Creeu una pel·lícula nova amb un clip de pel·lícula amb el nom d'instància p1 (un quadrat de color blau). » Inseriu al fotograma principal el codi següent:
|
||
|
||
Aquí es crea l'objecte color passant un valor numèric decimal que correspon al nombre del color desitjat. Observeu que, amb el codi this[_name+"c"], esteu aprofitant matriu (array) interna de Flash on emmagatzema tots els clips de pel·lícula que són a la memòria del programa. Amb aquesta acció, es crea un objecte amb el nom del mateix clip i li afegeix la lletra c per a la diferenciació amb el clip actual (this). A aquest mateix clip, se li aplica el mètode setRGB(valor), al qual se li assigna el color que correspon al valor numèric que s'ha passat a la funció com a paràmetre. » Feu una crida a la funció amb un botó en una incidència enterFrame de la forma següent. |
||
|
||
En aquest cas, el clip de pel·lícula p1 obtindrà el color verd, però recordeu que també podeu fer la crida a la funció amb el nombre de color hexadecimal transformat a decimal: 0x00FF00 i obtindreu el mateix resultat. Dins el valor passat com a paràmetre, es podria posar un valor a l'atzar, com es mostra a continuació, amb l'efecte especial que podeu observar si executeu el vostre programa.
|
||
Per últim, es podria dotar la funció d'un paràmetre d'entrada que podria ser el nom del color desitjat i que s'avaluaria dins la funció posant el valor corresponent, com per exemple:
|
||
Aleshores, la crida a la funció és aquesta:
|
||