El revestimiento de componentes visual normalmente requiere modificar los símbolos de la biblioteca para que representen el aspecto que deseamos para un componente. Durante mucho tiempo, los usuarios de Flash se sorprendían al no poder encontrar símbolos de componentes en la biblioteca cuando incluían un componente en sus proyectos.
La introducción del formato de archivo SWC (un formato compilado de un componente que se utiliza para empaquetar todos los activos de componentes en un archivo) en Flash MX 2004 permite empaquetar y distribuir componentes fácilmente, lo que constituye una gran ventaja. Al mismo tiempo, sin embargo, los revestimientos necesarios para cada componente también se incluyen en el SWC. Dado que no es posible editar los contenidos de un archivo SWC, hay que añadir los símbolos de la biblioteca para redefinirlos.
Al añadir los símbolos a la biblioteca con los mismos vínculos identificadores para los que se fija la propiedad de revestimiento (normalmente el valor por defecto del componente), un componente debería utilizar ese símbolo en lugar del símbolo incluido en el archivo SWC para su revestimiento. Puede parecer que esta tarea es tediosa, tener que buscar manualmente vínculos identificadores, crear cada símbolo y asegurarse de que no se cometen errores en el proceso. Afortunadamente, Macromedia nos ha dado un buen punto de partida para facilitar el proceso.
El archivo StandardComponents.fla viene incorporado en cualquier instalación de Flash. Se encuentra en:
Los temas son una colección de revestimientos y estilos que permiten desarrollar una apariencias general para una serie de componentes. No explicaré el modo en que estos estilos se implementan en los temas porque mi interés principal en este momento es el revestimiento. Los temas funcionan teniendo un símbolo en la biblioteca con el mismo vínculo identificador que los símbolos existentes en el SWC del componente. Para utilizar los temas, Macromedia distribuye la colección de símbolos de biblioteca en un archivo FLA como punto de partida para empezar a trabajar.
Los siguientes pasos explican cómo incluir un tema:
Abra el archivo HaloTheme.fla. Lo puede encontrar en:
Seleccione Temas > MMDefault > Activos de Ventana para abrir el símbolo Activos de Ventana. Personalice los distintos objetivos gráficos en el símbolo a su gusto (véase la figura 1).
Figura 1. Mi símbolo de Activos de Ventana personalizado
Normalmente, puede personalizar todos los símbolos en un tema y tener el tema completo disponible para revestir rápidamente una aplicación. Observe también que, en este momento, los archivos de temas no sólo están formados por activos gráficos en la biblioteca, sino que también puede estar formados por códigos, incluidos los valores de estilo de componentes por defecto, como explicaré en breve.
Para ver brevemente los estilos en temas, puede comprobar la biblioteca HaloTheme. Verá un símbolo llamado Defaults al seleccionar Flash UI Components 2 > Themes > MMDefault en la biblioteca. Si comprueba las propiedades de vínculo del símbolo, verá que el símbolo está asociado a una clase. Puede encontrar ese archivo de clase en la carpeta Clases adjunta.
Abra el archivo Default.as ubicado en:
Debe saber que el método setThemeDefaults() es el encargado de fijar estos parámetros por defecto. Si quiere crear un tema completo, resultaría ventajoso que especificara también los estilos de componentes por defecto. Puede hacerlo fácilmente personalizando el archivo Default.as. Si piensa hacer esto, asegúrese de crear una copia local para su aplicación. Estos archivos localizados en la carpeta de clases generales nunca deben modificarse.
Por último, si quiere revestir sólo un componente en lugar de tener un tema entero, puede borrar todos los objetos de la biblioteca no relacionados con el componente que desea revestir y editar sólo el símbolo que desee.
Revestir componentes sin código puede tener sus limitaciones. Puede hacer varias cosas para evitar escribir los códigos cada vez que quiera revestir un componente. Por ejemplo, explore el archivo SampleTheme.fla, que encontrará en:
Este tema puede ser más fácil de revestir porque utiliza menos códigos para dibujar los revestimientos, a diferencia de HaloTheme.
Algunos componentes utilizan los mismos valores para múltiples propiedades de revestimiento (estados de componentes) porque dibujan ese revestimiento utilizando códigos. Para estos componentes, no encontrará un método para personalizar los distintos estados, independientemente de que tenga que escribir algunos códigos. El componente de Botón es un buen ejemplo de esto.