Показать сообщение отдельно
Старый 24.02.2013, 10:35
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 5  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Хранить данные в виде классов как-то странновато — обычно используют текстовые файлы, 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);
Соответственно все стили будут собраны в одном месте, где их можно легко редактировать сразу для всех элементов. Решение не самое гибкое, но простое и надежное.
__________________
Reality.getBounds(this);