Unity 6.3
0 онлайн 111 гостей 3 в системе
Вход
UI системы Шаг 311 из 317

GUI Кожа (IMGUI Система)

GUISkins представляют собой коллекцию GUIStyles, которые могут быть применены к вашему GUI. Каждый тип Контроллера имеет свое собственное определение Стиля. Скин предназначен для того, чтобы вы могли применять стиль ко всему UI, а не только к одному Контроллеру.

Кожа GUI, как видно в Inspector
Кожа GUI, как видно в Inspector

Чтобы создать 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.

Новый файл GUISkin в представлении Project
Новый файл GUISkin в представлении Project

Редактирование GUISkins

После того, как вы создали GUISkin, вы можете изменить все Стилы содержится в InspectorНапример, Текстовое поле Стиль будет применяться ко всем текстовым полям.

Редактирование стиля текстового поля в GUISkin
Редактирование стиля текстового поля в GUISkin

Независимо от того, сколько текстовых полей вы создаете в вашем сценарии, все они будут использовать это Стиль. Конечно, вы можете изменять стили одного текстового поля по отношению к другому, если хотите. Мы рассмотрим, как это делается дальше.

Применение 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