Уже немало постов на данном блоге посвящено библиотеке компонентов MiniUI, написанной на ActionScript 3.0. Компоненты, созданные с помощью MiniUI, выглядят довольно грубоватыми, но зато очень просты в использовании. Кроме этого, данная библиотека классов распространяется с открытым исходным кодом. А значит мы можем кое-что в библиотеке изменить под свои вкусы и потребности.
А изменить в первую очередь надо настройки текста. Ведь именно вокруг текста и строится большинство компонентов. Сделать это, кстати, не так и трудно. Дело в том, что настройки текста для MiniUI хранятся в виде констант в классе Style. Поэтому идём в папку skin (полный путь до данной папки будет следующим - sliz/miniui/skin) и открываем файл Style.as. В этом файле заменим всего две строчки (первоначальные настройки я не стал удалять, а просто их закомментировал).
Код ActionScript 3.0:
package sliz.miniui.skin
{
import flash.text.TextFormat;
import flash.filters.*;
/**
* ...
* @author sliz http://game-develop.net/blog/
*/
public class Style
{
public static const inputFilter:DropShadowFilter = new DropShadowFilter(2, 45, 0x999999, 1, 2, 2, 1, 3, true);
public static const btnFilter:BevelFilter = new BevelFilter(20,90,0xffffff,1,0,1,0,15,1,2);
public static const btnOverFilter:BevelFilter = new BevelFilter(20,90,0xffffff,1,0x2c628b,1,0,15,1,2);
public static const btnDownFilter:BevelFilter = new BevelFilter( 0, 90, 0, 1, 0, 1, 0, 2, 1, 2);
public static const glowOverFilter:GlowFilter = new GlowFilter(0xffff00,1,3,3,1,3);
public static const glowDownFIlter:GlowFilter = new GlowFilter(0x999900, 1, 2, 2, 1, 3);
public static const shadow:DropShadowFilter = new DropShadowFilter(2, 45, 0x999999, 1, 4, 4, 1, 3);
public static const gary:ColorMatrixFilter=new ColorMatrixFilter([0.3086,0.6094,0.0820,0,0,0.3086,0.6094,0.0820,0,0,0.3086,0.6094,0.0820,0,0,0,0,0,1,0]);
/*
public static const btnTfm:TextFormat = new TextFormat("??",null,null,false);
*/
public static const btnTfm:TextFormat = new TextFormat("Verdana", 16, null, false, null, null, null, null, null, 5, 5, null, null);
/*
public static const boldTfm:TextFormat = new TextFormat("??", null, null, true);
*/
public static const boldTfm:TextFormat = new TextFormat("Verdana", 16, null, true, null, null, null, null, null, 5, 5, null, null);
}
}
Что мы сделали?
Мы задали новые настройки для текстовых полей:
- указали шрифт (по-умолчанию стоял какой-то иероглифический шрифт, а теперь у нас более привычный и приятный для глаза шрифт Verdana);
Если вы хотите использовать какой-то нестандартный шрифт, то вам надо будет его встроить (что, к слову, увеличит конечный размер flash-ролика). О том, как встраивать шрифты подробно рассказано тут - Встраивание шрифтов в Adobe Flash / ActionScript 3.0 приложения.
- увеличили размер текста (тот, что стоял по-умолчанию, был мелковат и не очень удобен для чтения);
- назначили отступы в 5 px от правой и левой границ текстового поля (лично меня сильно раздражало, когда текст вплотную примыкал к краю какого-либо компонента).
Давайте сравним "До" и "После"...
До изменения:
После изменения:
Как видите, изменив всего две строчки, мы внесли единообразные изменения во все компоненты.
Кстати, в этом же файле вы можете изменить и настройки фильтров, используемых в компонентах MiniUI (для создания нужного вам фильтра можно воспользоваться возможностями Simple Flash Filter Generator). Хотя я особого смысла в этом и не вижу.