Теги функцій

Вступ

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

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

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

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

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

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

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

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

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

OS.has_feature(name)

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

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

Тег функції

Опис

Android

Працює на Android

HTML5

Працює на HTML5

JavaScript

Доступний JavaScript singleton

OSX

Працюємо на macOS

iOS

Працюємо на iOS

UWP

Працюємо у UWP

Windows

Працюємо у Windows

X11

Працює на X11 (Linux/BSD desktop)

Server

Працює на позбавленій керівництва (headless) серверній платформі

debug

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

release

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

editor

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

standalone

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

64

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

32

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

x86_64

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

x86

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

arm64

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

arm

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

mobile

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

pc

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

web

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

etc

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

etc2

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

s3tc

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

pvrtc

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

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

За винятком тегів властивостей стиснення текстур, за замовчуванням теги властивостей є незмінними. Це означає, що вони не будуть змінюватися залежно від умов виконання. Наприклад, OS.has_feature("mobile") поверне false при запуску проекту, експортованого в HTML5, на мобільному пристрої.

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

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

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

../../_images/feature_tags1.png

Примітка

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

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

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

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

../../_images/feature_tags2.png

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

../../_images/feature_tags3.png

Примітка

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

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

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

../../_images/feature_tags4.png

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

Теги функцій також можна використовувати для налаштування процесу збірки, написавши власний ExportPlugin. Вони також використовуються для вказівки, яка спільна бібліотека завантажується та експортується в GDNative.