Теги особенностей¶
Введение¶
У Godot есть специальная система для тегов особенностей. Каждая особенность представлена в виде строки, которая может ссылаться на многие из следующих элементов:
Название платформы.
Архитектура платформы (64-bit или 32-bit, x86 или ARM).
Тип платформы (desktop, mobile, Web).
Поддерживаемые алгоритмы сжатия текстур на платформе.
Является ли сборка
debug
илиrelease
(debug
включает редактор).Выполняется ли проект из редактора или "автономного" двоичного файла.
И еще много чего.
Особенности можно запрашивать во время выполнения singleton API, вызывая:
OS.has_feature(name)
Основные особенности¶
Вот список большинства тегов особенностей в Godot. Имейте в виду, что они case-sensitive (чувствительны к регистру):
Тег особенности |
Описание |
---|---|
Android |
Работает на Android |
HTML5 |
Работает на HTML5 |
JavaScript |
:ref:`JavaScript singleton <doc_javascript_eval> ` доступен |
OSX |
Работает на macOS |
iOS |
Работает на iOS |
UWP |
Работает на UWP |
Windows |
Работает на Windows |
X11 |
Работает на X11 (Linux/BSD desktop) |
Server |
Работает на the headless server platform |
debug |
Запуск в отладочной сборке (including the editor) |
release |
Запуск на релизной сборке |
editor |
Запуск в сборке редактора |
standalone |
Запуск на сборке без редактора |
64 |
Запуск на 64-bit сборке (любая архитектура) |
32 |
Запуск на 32-bit сборке (любая архитектура) |
x86_64 |
Запуск на 64-bit x86 сборке |
x86 |
Запуск на 32-bit x86 сборке |
arm64 |
Запуск на 64-bit ARM сборке |
arm |
Запуск на 32-bit ARM сборке |
mobile |
Host OS - это мобильная платформа |
pc |
Host OS - это PC платформа (desktop/laptop) |
web |
Host OS - это веб-браузер |
etc |
Поддерживаются текстуры с применением сжатия ETC1 |
etc2 |
Поддерживаются текстуры с применением сжатия ETC2 |
s3tc |
Поддерживаются текстуры с применением сжатия S3TC (DXT/BC) |
pvrtc |
Поддерживаются текстуры с применением сжатия PVRTC |
Предупреждение
With the exception of texture compression feature tags, default feature tags
are immutable. This means that they will not change depending on
run-time conditions. For example, OS.has_feature("mobile")
will return
false
when running a project exported to HTML5 on a mobile device.
To check whether a project exported to HTML5 is running on a mobile device, call JavaScript code that reads the browser's user agent.
Пользовательские особенности¶
Можно добавить пользовательские особенности в сборку; используйте соответствующее поле в export preset, используемое для их создания:

Примечание
Custom feature tags are only used when running the exported project (including with Развёртывание в один клик). They are not used when running the project from the editor, even if the export preset marked as Runnable for your current platform has custom feature tags defined.
Переопределение параметров проекта¶
Особенности могут быть использованы для переопределения определенных значений конфигурации в Project Settings. Это позволяет лучше настроить любую конфигурацию при выполнении сборки.
В следующем примере для демо-сборки игры добавляется другой значок (который был настроен в специальном пресете экспорта, который, в свою очередь, включает только демо-уровни).

После переопределения добавляется новое поле для этой специфической конфигурации:

Примечание
При использовании :ref: настройки проекта "override.cfg" функциональности <class_ProjectSettings> (которая не связана с тегами функций) помните, что теги функций все еще применяются. Поэтому не забудьте также переопределить настройку с помощью желаемого тега(-ов) функции, если вы хотите, чтобы они переопределяли настройки базового проекта на всех платформах и конфигурациях.
Основные переопределения¶
Уже существует множество настроек, которые по умолчанию поставляются с переопределением; их можно найти во многих разделах настроек проекта.

Настройка сборки¶
Теги особенностей также можно использовать для настройки процесса сборки, написав пользовательский ExportPlugin. Они также используются для указания того, какая общая библиотека загружается и экспортируется в GDNative.