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 來查詢功能:

OS.has_feature(name)

GDExtension 使用作業系統功能標籤來決定要載入的庫。例如,「linux.debug.editor.x86_64」的程式庫將僅在 Linux x86_64 的偵錯編輯器版本上載入。

預設功能

以下列出了 Godot 中大多數的功能標籤。請注意,這些標籤有 區分大小寫

功能標籤

描述

Android

在 Android 上運作(非 Web 瀏覽器)

bsd

在 *BSD 上運行(非 Web 瀏覽器)

Alpine Linux

在 Linux 上運作(非 Web 瀏覽器)

macOS

在 macOS 上運作(非 Web 瀏覽器)

ios

在 iOS 上運作(非 Web 瀏覽器)

Windows

在 Windows 上執行

Alpine Linux

在 iOS 上執行

debug

在除錯建置中執行 (包含編輯器)

release

在發行版本建置上執行

editor

在編輯器建置中執行

釋出日期

在非編輯器建置中執行

mobile

在非編輯器建置中執行

mobile

在非編輯器建置中執行

64

在 64 位元建置上執行 (不限架構)

32

在 32 位元建置上執行 (不限架構)

x86_64

在 64 位元 x86 建置上執行

x86

在 32 位元 x86 建置上執行

x86

在 64 位元建置上執行 (不限架構)

arm64

在 64 位元 ARM 建置上執行

arm

在 32 位元 ARM 建置上執行

arm

在 64 位元建置上執行 (不限架構)

64

在 64 位元 ARM 建置上執行

riscv

在 64 位元建置上執行 (不限架構)

64

在 64 位元 x86 建置上執行

32

在 32 位元 x86 建置上執行

pc

在 64 位元建置上執行 (不限架構)

arm64

在 64 位元建置上執行 (不限架構)

32

在 32 位元 ARM 建置上執行

wasm

在 64 位元建置上執行 (不限架構)

mobile

主機作業系統為行動裝置平台

pc

主機作業系統為 PC 平台 (桌上型電腦/膝上型電腦)

web

主機作業系統為網頁瀏覽器

Android

主機作業系統為網頁瀏覽器

web

主機作業系統為網頁瀏覽器

web

主機作業系統為網頁瀏覽器

web

主機作業系統為網頁瀏覽器

Windows

主機作業系統為網頁瀏覽器

etc

支援以 ETC1 壓縮紋理

etc2

支援以 ETC2 壓縮紋理

s3tc

支援以 S3TC (DXT/BC) 壓縮紋理

mobile

Movie Maker 模式 已激活

警告

除了紋理壓縮功能標籤之外,預設的功能標籤都是**不可修改**的。這意味著它們*不會*根據運作時的情況變化。例如,在移動裝置上運作匯出為 HTML5 的專案時, OS.has_feature("mobile") 返回的是 false

要檢查匯出為 HTML5 的專案是否是在移動裝置上運作,請:ref:`呼叫 JavaScript 程式碼 <doc_javascript_eval>`讀取瀏覽器的使用者代理。

自定功能

可以在建置中新增自定功能。在 匯出預設 中使用相應的欄位來產生自定功能:

../../_images/feature_tags1.png

備註

自訂功能標籤只會在運作匯出後的專案中使用(包括 單鍵部署)。從編輯器中運作專案時**不會使用**,即便標記為**可執行**的匯出預設對應的平臺上存在自訂功能標籤。

覆寫專案設定

可以用功能來在 [專案設定] 中覆寫指定的組態設定值。這樣一來便能在建置時自定各種設定。

在下列範例中,Demo 版的遊戲使用不同的圖示 (圖示在林一個匯出預設設定中自定,並只會包含 Demo 關卡)。

../../_images/feature_tags2.png

覆寫後,組態設定中會多一個用於該建置的新欄位:

../../_images/feature_tags3.png

備註

當使用:ref:`專案設定的“override.cfg”功能 <class_ProjectSettings>`時(與功能標籤無關),記住功能標籤仍然適用。因此,如果你想讓它們覆蓋所有平臺和配置上的基本專案設定,請確保*同時*用所需的功能標籤覆蓋設定。

預設覆寫

預設已經有許多設定會被覆蓋。專案設定中各個地方都有。

../../_images/feature_tags4.png

自定建置

可以通過撰寫自定 ExportPlugin 來使用功能標籤自定建置過程。ExportPlugin 也可以用來指定 GDNative 中要載入與匯出哪些共用程式庫。