viernes, 28 de febrero de 2014

ActionScript 3.0: Cambio color

Una aplicación clásica en los desarrollos educativos es que el usuario (por lo general un niño) iluminen un dibujo. Hay muchas maneras de hacerlo. Una forma de solucionar este problema es tener el dibujo dvidido en diferentes movie clips blancos y un gráfico con los contornos del dibujo.

Es importante nombrar a cada uno de los clips con nombres diferentes. Por lo general necesitamos hacer "grupos" de varios pedazos del dibujo, por ejemplo las manos, el cuello y la cara van del mismo color. También necesitaremos botoncitos que representen los diferentes botones para que el usuario seleccione el color. Por lo general utilizamos un cursor personalizado, ya sea un pincel o una brocha.

Para poder cambiar el movie clip, necesitamos un objeto intermedio donde almacenaremos el color, en este caso necesitamos un objeto ColorTransform. Dicha clase se encuentra en el paquete geom, y este a su ves en el paquete flash. Recuerda que si codificas en la línea de tiempo, no es necesario importar las clases del paquete flash, pero si trabajas en clases, tienes que importarla:

import flash.geom.ColorTransform;

Así que crea un objeto de tranformación de color, donde almacenaremos el color que haya seleccionado el usuario:

var colorInfo:ColorTransform;

Aqui almacenamos el color (en formato hexadecimal, de preferencia). Supongamos que desamos cambiar el color a amarillo:

colorInfo = new ColorTransform();
colorInfo.color = 0xffff00;

Ahora aplicamos este cambio al movie clip (digamos que se llama dibujo) con la siguiente asignación:

dibujo.transform.colorTransform = colorInfo;

Listo, el movie clip cambiará de color. Hay que remarcar que si el movie clip tiene un degradado o diferentes colores que los aplicamos en tiempo de autor ed decir, con el EDI, los colores se remplazarán por el color que aplicamos.

http://www.pacoarce.com

No hay comentarios:

Publicar un comentario