Хранить данные в виде классов как-то странновато — обычно используют текстовые файлы, xml или css, которые можно загружать извне и парсить налету в рантайме — но вобщем то можно и так, например класс-список констант. Если все элементы GUI используют общий набор цветов, можно дать им имена в таком классе-списке, а все элементы будут его импортировать. Не самое элегантное решение.
Код AS3:
package ***.styles
{
import flash.filters.DropShadowFilter;
public class Style
{
/* FILTERS */
public static const SHADOW_FILTER:DropShadowFilter = new DropShadowFilter(2, 90, SHAD, .5, 0, 4, .8, 3);
public static const LABEL_FILTER :DropShadowFilter = new DropShadowFilter(1, 60, BLICK, .8, 0, 0, 1, 1);
public static const DRAG_FILTER :DropShadowFilter = new DropShadowFilter(2, 60, SHAD, 1, 4, 4, 1, 3);
/* DEFAULT STATE */
public static const BLICK :uint = 0xffffff;
public static const HILIGHT :uint = 0xefefef;
public static const LIGHT :uint = 0xdddddd;
public static const MIDDLE :uint = 0xcccccc;
public static const TONE :uint = 0xaaaaaa;
public static const DARK :uint = 0x888888;
public static const SHAD :uint = 0x666666;
}
}
а в самих контролах при отрисовке используете эти константы, то есть ссылаетесь на этот класс стилей, типа upState.graphics.beginFill(Style.TONE);
Соответственно все стили будут собраны в одном месте, где их можно легко редактировать сразу для всех элементов. Решение не самое гибкое, но простое и надежное.
|