GUI Кожа (IMGUI Система)
GUISkins представляют собой коллекцию GUIStyles, которые могут быть применены к вашему GUI. Каждый тип Контроллера имеет свое собственное определение Стиля. Скин предназначен для того, чтобы вы могли применять стиль ко всему UI, а не только к одному Контроллеру.
Чтобы создать GUISkin, выберите Assets->Create->GUI Skin в меню.
Примечание: Эта страница относится к части IMGUI системы, которая является только для скриптирования система интерфейса. В Unity есть полноценная система интерфейса на основе GameObject, которой вы, возможно, предпочтёте пользоваться. Она позволяет проектировать и редактировать элементы интерфейса как видимые объекты в окне сцены. См. UI Руководство по системе для больше информации.
Свойства
Все свойства внутри GUI Skin являются индивидуальными GUIStyle. Пожалуйста, прочитайте страницу GUIStyle для получения дополнительной информации о том, как использовать Стилы.
| Свойство: | Функция: |
|---|---|
| Фон | Глобальный Шрифт, используемый для каждого элемента управления в GUI |
| Коробка | Стиль Стиль для использования во всех Boxes |
| Кнопка | Стиль Стиль для использования на всех кнопках |
| Переключить | Стиль Стиль для использования для всех переключателей |
| Этикетка | Стиль Стиль для использования для всех меток |
| Текстовое поле | Стиль Стиль для использования для всех текстовых полей |
| Текстовая область | Стиль Стиль для использования во всех текстовых областях |
| Окно | Стиль для использования для всех Windows |
| Горизонтальный ползунок | Стиль Стиль для использования для всех горизонтальных ползунков |
| Горизонтальный ползунок | Стиль Стиль для использования для всех горизонтальных ползунков |
| Вертикальный слайдер | Стиль Стиль для использования для всех вертикальных ползунков |
| Вертикальный ползунок | Стиль Стиль для использования для всех вертикальных ползунков |
| Горизонтальная прокрутка | Стиль Стиль для использования для всех горизонтальных панелей прокрутки |
| Горизонтальная прокрутка | Стиль Стиль для использования для всех Горизонтальных Кнопок Прокрутки |
| Левая кнопка горизонтальной прокрутки | Стиль Стиль для использования для всех левых кнопок горизонтальной прокрутки |
| Правая кнопка горизонтальной прокрутки | Стиль Стиль для использования для всех правых кнопок горизонтальной прокрутки |
| Вертикальная прокрутка | Стиль Стиль для использования для всех вертикальных панелей прокрутки |
| Вертикальная прокрутка | Стиль Стиль для использования для всех кнопок пальцев вертикальной прокрутки |
| Кнопка вертикальной прокрутки вверх | Стиль Стиль для использования для всех кнопок вертикальной прокрутки |
| Вертикальная прокрутка вниз | Стиль Стиль для использования для всех кнопок прокрутки вниз вертикальной прокрутки |
| Индивидуальный 1-20 | Дополнительные пользовательские стили, которые могут быть применены к любому контролю |
| Пользовательские стили | Массив дополнительных пользовательских стилей, которые могут быть применены к любому контролю |
| Настройки | Дополнительные настройки для всего GUI |
| Двойной клик выбирает слово | Если включено, двойной щелчок на слове выберет его |
| Тройной щелчок выбирает линию | Если включено, трехкратный щелчок на слове выберет всю строку |
| Цвет курсора | Цвет курсора клавиатуры |
| Скорость курсора Flash | Скорость, с которой текстовый курсор будет мигать при редактировании любого текстового элемента управления |
| Выбор цвета | Цвет выбранной области текста |
Подробности
Когда вы создаете целый GUI для вашей игры, вам, вероятно, придется сделать много настроек для каждого типа управления. Во многих различных жанрах игр, таких как стратегия в реальном времени или ролевая игра, существует потребность практически в каждом типе управления.
Поскольку каждый отдельный Управляющий использует определенный Стиль, нет смысла создавать более десятка отдельных Стилей и назначать их вручную. GUI Skins решают эту проблему за вас. Создавая GUI Skin, вы получаете предопределенную коллекцию Стилей для каждого отдельного Управляющего. Затем вы применяете Skin с одной строкой кода, что устраняет необходимость вручную определять Стиль каждого отдельного Управляющего.
Создание GUISkins
GUISkins — это файлы ассетов. Чтобы создать GUI Skin, выберите Assets->Create->GUI Skin из меню. Это добавит новый GUISkin в ваше Project View.
Редактирование GUISkins
После того, как вы создали GUISkin, вы можете изменить все Стилы содержится в InspectorНапример, Текстовое поле Стиль будет применяться ко всем текстовым полям.
Независимо от того, сколько текстовых полей вы создаете в вашем сценарии, все они будут использовать это Стиль. Конечно, вы можете изменять стили одного текстового поля по отношению к другому, если хотите. Мы рассмотрим, как это делается дальше.
Применение GUISkins
Чтобы применить GUISkin к вашему GUI, вы должны использовать простой скрипт для чтения и применения Скина к вашим Контролям.
// Create a public variable where we can assign the GUISkin
var customSkin : GUISkin;
// Apply the Skin in our OnGUI() function
function OnGUI () {
GUI.skin = customSkin;
// Now create any Controls you like, and they will be displayed with the custom Skin
GUILayout.Button ("I am a re-Skinned Button");
// You can change or remove the skin for some Controls but not others
GUI.skin = null;
// Any Controls created here will use the default Skin and not the custom Skin
GUILayout.Button ("This Button uses the default UnityGUI Skin");
}
В некоторых случаях вы хотите иметь два одинаковых Устройства с разными Стилями. Для этого нет смысла создавать новую Обложку и переназначать ее. Вместо этого вы используете один из Пользовательских Стилей в обложке. Укажите Имя для Пользовательского Стиля, и вы можете использовать это имя в качестве последнего аргумента индивидуального Устройства.
// One of the custom Styles in this Skin has the name "MyCustomControl"
var customSkin : GUISkin;
function OnGUI () {
GUI.skin = customSkin;
// We provide the name of the Style we want to use as the last argument of the Control function
GUILayout.Button ("I am a custom styled Button", "MyCustomControl");
// We can also ignore the Custom Style, and use the Skin's default Button Style
GUILayout.Button ("I am the Skin's Button Style");
}
Для получения дополнительной информации о работе с GUIStyles, пожалуйста, прочитайте страницу GUIStyle. Для получения дополнительной информации об использовании UnityGUI, пожалуйста, прочитайте GUI Руководство по скриптам.
GUISkin