Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Теги функцій

Вступ

У Godot є спеціальна система для позначення доступних функцій. Кожна функція представлена у вигляді рядка, який може посилатися на багато чого з наступного:

  • Назва платформи.

  • Архітектура платформи (64-розрядна, або 32-бітна, x86, або ARM).

  • Тип платформи (настільний, мобільний, веб).

  • Підтримувані алгоритми стиснення текстур на платформі.

  • Збірку debug, або release (debug включає редактор).

  • Проєкт, що працює із редактора, чи "окремого" бінарника.

  • Ще багато речей.

Про особливості можна дізнатися під час виконання з API Singleton, викликом:

OS.has_feature(name)

OS feature tags are used by GDExtension to determine which libraries to load. For example, a library for linux.debug.editor.x86_64 will be loaded only on a debug editor build for Linux x86_64.

Типові можливості

Ось список більшості тегів функцій у Godot. Майте на увазі, що вони чутливі до регістру:

Тег функції

Опис

android

Running on Android (but not within a Web browser)

bsd

Running on *BSD (but not within a Web browser)

linux

Running on Linux (but not within a Web browser)

macos

Running on macOS (but not within a Web browser)

ios

Running on iOS (but not within a Web browser)

windows

Працюємо у Windows

linuxbsd

Running on Linux or *BSD

debug

Працює у діагностичній збірці (включає редактор)

release

Працюємо у збірці для випуску

editor

Працює в збірці редактора

template

Running on a non-editor (export template) build

double

Running on a double-precision build

single

Running on a single-precision build

64

Працює у 64-бітовій збірці (будь-якої архітектури)

32

Працює у 32-бітовій збірці (будь-якої архітектури)

x86_64

Працюємо у 64-бітовій x86 збірці

x86_32

Працює у 32-бітовій x86 збірці

x86

Running on an x86 build (any bitness)

arm64

Працює у 64-бітовій ARM збірці

arm32

Працює у 32-бітовій ARM збірці

arm

Running on an ARM build (any bitness)

rv64

Running on a 64-bit RISC-V build

riscv

Running on a RISC-V build (any bitness)

ppc64

Running on a 64-bit PowerPC build

ppc32

Running on a 32-bit PowerPC build

ppc

Running on a PowerPC build (any bitness)

wasm64

Running on a 64-bit WebAssembly build (not yet possible)

wasm32

Running on a 32-bit WebAssembly build

wasm

Running on a WebAssembly build (any bitness)

мобільний телефон

Основна операційна система є мобільною платформою

pc

Основною операційною системою є платформа ПК (робоча станція чи ноутбук)

web

Основна операційна система є переглядачем інтернету

web_android

Host OS is a Web browser running on Android

web_ios

Host OS is a Web browser running on iOS

web_linuxbsd

Host OS is a Web browser running on Linux or *BSD

web_macos

Host OS is a Web browser running on macOS

web_windows

Host OS is a Web browser running on Windows

etc

Підтримуються текстури, що використовують стиснення ETC1

etc2

Підтримуються текстури, що використовують стиснення ETC2

s3tc

Підтримуються текстури, що використовують стиснення S3TC (DXT / BC)

movie

Movie Maker mode is active

Попередження

With the exception of texture compression and movie 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.

Щоб перевірити, чи працює проект, експортований в HTML5, на мобільному пристрої, викличте код JavaScript, який зчитує агент користувача браузера.

Нетипові можливості

У збірку можна додати власні функції; використовуйте відповідне поле в export preset, щоб згенерувати їх:

../../_images/feature_tags1.png

Примітка

Спеціальні теги використовуються лише під час запуску експортованого проекту (зокрема з Розміщення в один клік). Вони не використовуються під час запуску проекту з редактора, навіть якщо пресет експорту позначено як Runnable (Запускається) для вашої поточної платформи з визначені спеціальні теги.

Заміна параметрів проєкту

Функції можна використовувати для перевизначення певних значень конфігурації в Параметрах проєкту. Це дозволяє вам краще налаштувати будь-яку конфігурацію під час створення збірки.

У наступному прикладі для демонстраційної збірки гри додано інший значок (який був налаштований у спеціальному пресеті експорту, який, у свою чергу, включає лише демо-рівні).

../../_images/feature_tags2.png

Після заміни додається нове поле для цієї конкретної конфігурації:

../../_images/feature_tags3.png

Примітка

Використовуючи функцію параметрів проєкту "override.cfg" (яка не пов'язана з тегами функцій), пам'ятайте, що теги функцій все ще застосовуються. Тому переконайтеся, що ви також перевизначили налаштування за допомогою бажаних тегів, якщо хочете, щоб вони замінили базові параметри проєкту на всіх платформах та конфігураціях.

Заміна за замовчуванням

Вже існує багато параметрів, які за замовчуванням мають заміни; їх можна знайти в багатьох розділах параметрів проєкту.

../../_images/feature_tags4.png

Налаштування збірки

Feature tags can be used to customize a build process too, by writing a custom ExportPlugin. They are also used to specify which shared library is loaded and exported in GDExtension.