Unity 6.3
0 онлайн 36 гостей 3 в системе
Вход

Типы данных USS

Типы данных USS определяют типичные значения, включая ключевые слова и единицы, которые принимаются свойствами и функциями USS.

Синтаксис

Свойства USS используют тот же синтаксис, что и документы W3C и CSS:

  • Значения ключевых слов отображаются без изменений. Например: auto, baseline.
  • Основные типы данных появляются в квадратных скобках (< и >). Например: <length> и <color>.
  • Нетерминалы, имеющие то же имя, что и свойство, помещаются в квадратные скобки и одиночные кавычки (<' и '>). Например, <'width'>.

Если значение свойства имеет более одного параметра, применяются следующие правила:

  • Соседние слова означают, что все варианты должны встречаться в заданном порядке.
  • Прочерк (|) разделяет два или более варианта. Один из них должен присутствовать.
  • Двойные строки (||) разделяют два или более варианта. Один или более из них должны быть в любом порядке.
  • Двойные символы и (&&) разделяют два или более варианта. Все варианты должны быть представлены.
  • В квадратных скобках ([, ]) указана группа.

За каждым типом, ключевым словом или группой в квадратных скобках могут следовать модификаторы. В следующей таблице перечислены возможные модификаторы:

Изменить Предшествующий тип, ключевое слово или группа
Звездочка (*) Возникает 0 или более раз
Знак плюс (+) Возникает один или несколько раз
Вопросительный знак (?) Факультативно
Пара цифр в квадратных скобках ({A,B}) Возникает не менее A и не более B раз

Длина

UI Toolkit поддерживает пикселей(px) и процентов (%) в качестве единиц измерения длины. Значения пикселей являются абсолютными, в то время как проценты относятся к родительскому элементу.

Примеры:

  • width:200px; выражает ширину 200 пикселей.
  • width:50%; выражает ширину, равную половине ширины родительского элемента.

Важно указать единицу измерения. Если вы не указываете единицу измерения, UI Toolkit предполагает, что значение свойства выражено в px.

Примечание: 0 является специальным значением, которое не требует единицы измерения.

Число

Числовые значения выражаются либо в виде плавающей запятой, либо в виде целых литералов. Например, flex:1.0.

Ключевые слова

Для некоторых встроенных свойств поддерживаются конкретные ключевые слова. Ключевые слова дают описательное имя вместо числа. Например: position:absolute.

Все свойства поддерживают глобальное ключевое слово initial, которое перенастраивает значение по умолчанию свойства на элемент.

В следующем примере, несмотря на то, что вы установили красный цвет для всех меток, ключевое слово initial из color восстанавливает цвет label1 до его значения по умолчанию:

/* Set the color of all the labels to red. */
Label {
    color: red;
}
/* label1 is the name of a specific label. */
#label1{
    color: initial;
}

Цвет

UI Toolkit поддерживает следующие буквальные цветовые значения и функции:

  • Шестнадцатеричное значение: #FFFF00, #0F0
  • Функция RGB: rgb(255, 255, 0)
  • Функция RGBA: rgba(255, 255, 0, 1.0)
  • Цвет ключевые слова

Ассеты

Вы можете ссылаться на ресурсы проекта, такие как шрифты и текстуры из ваших файлов USS. Например, вы можете ссылаться на текстуру, чтобы использовать ее в качестве фонового изображения для элемента.

Для ссылки на ресурс можно использовать либо функцию url(), либо функцию resource():

  • resource(): Представляет ассет в папке Resources.
  • url(): Представляет ассет, указанный путем. Вы можете выразить его как относительный путь или абсолютный путь.

Используйте функцию url() в большинстве случаев. Однако функция resource() поддерживает автоматическую загрузку различных версий изображений для различных плотностей экрана.

Справочные ассеты с функцией URL

При ссылке на ресурс с помощью функции url() указываемый путь может быть относительным или абсолютным:

  • Относительные пути должны быть относительными к папке, содержащей файл USS, который ссылается на ресурс.
  • Абсолютные пути относятся к проекту.

Путь должен включать расширение файла.

Например, если в вашем проекте есть папка USS, содержащая все ваши таблицы стилей, и папка Resources, содержащая все ваши изображения.

Assets
  └─ Editor
      └─ Resources
      └─ USS

Для ссылки на изображение с именем thumb.pngвы можете использовать один из следующих путей:

Относительный путь Абсолютный путь
url("../Resources/thumb.png") url("/Assets/Editor/Resources/thumb.png")

url("project:/Assets/Editor/Resources/thumb.png")

url("project:///Assets/Editor/Resources/thumb.png")

Для ссылки на образ в пакете используйте папку Packages в пути:

Относительный путь Абсолютный путь
url("../Packages/com.my.example.package/Editor/Resources/thumb.png") url("Project:///Packages/com.my.example.package/Editor/Resources/thumb.png")

Эталонные ассеты с функцией ресурса

Функция resource() может ссылаться на ассеты в папках ресурсов Unity (Resources и Editor Default Resources). Вы ссылаетесь на ассет по имени.

  • Если файл находится в папке Editor Default Resources, вы должны включить расширение файла.
  • Если файл находится в папке Resources, не следует включать расширение файла.

Например:

Путь к файлу Синтаксис ссылок
Assets/Resources/Images/my-image.png resource("Images/my-image")
Assets/Editor Default Resources/Images/my-image.png resource("Images/default-image.png")

Справочные изображения для экранов High DPI/Retina

Для поддержки экранов с разной плотностью экрана (DPI) выполните следующие действия:

  • Убедитесь, что высокие версии DPI ваших текстур имеют суффикс @2x в именах файлов. Например, высокая версия DPI myimage.png должна быть myimage@2x.png
  • Поместите обычные и высокие DPI версии текстурных ассетов в одну и ту же папку проекта.

Когда Unity загружает ресурс, он автоматически выбирает правильную версию для текущего экрана DPI.

Например, если вы используете resource("myimage") в USS, Unity загружает либо Resources/myimage.png, либо Resources/myimage@2x.png.

Струны

Используйте кавычки для указания строкового значения. Например: --my-property: "foo".

Дополнительные ресурсы