Tags de fonctionnalité¶
Introduction¶
Godot a un système spécial pour marquer la disponibilité des fonctionnalités. Chaque fonctionnalité est représentée par une chaîne de caractères, qui peut se référer à plusieurs des éléments suivants :
Nom de la plate-forme.
Architecture de plate-forme (64 bits ou 32 bits, x86 ou ARM).
Type de plate-forme (bureau, mobile, Web).
Algorithme de compression de texture supportée par la plateforme.
Qu'il s'agisse d'une compilation de débogage
debug
ou de productionrelease
(debug
inclut l'éditeur).Si le projet est exécuté à partir de l'éditeur ou d'un fichier binaire "autonome".
Et bien d'autres choses.
Les fonctionnalités peuvent être interrogées à l’exécution auprès du singleton API en appelant :
OS.has_feature(name)
Fonctionnalités par défaut¶
Voici une liste de la plupart des tags de fonctionnalités de Godot. Gardez à l'esprit qu'ils sont sensibles à la casse :
Tag de fonctionnalité |
Description |
---|---|
Android |
Éxécution sur Android |
HTML5 |
Éxécution en HTML5 |
JavaScript |
Le singleton JavaScript est disponible |
OSX |
Éxécution sur macOS |
iOS |
Éxécution sur iOS |
UWP |
Éxécution sur UWP |
Windows |
Éxécution sur Windows |
X11 |
Fonctionnant sur X11 (bureau Linux / BSD) |
Server |
En cours d'exécution sur la plate-forme serveur |
debug |
Exécution sur un binaire de débogage |
release |
Éxécution sur un binaire de déploiement |
editor |
Exécuter sur une compilation éditeur |
standalone |
Exécuter sur une compilation non-éditeur |
64 |
Exécution sur une version 64-bits (toutes architectures) |
32 |
Éxécution sur une version 32-bits (toutes architectures) |
x86_64 |
Exécution sur une compilation 64 bits x86 |
x86 |
Exécution sur une version 32 bits x86 |
arm64 |
Exécution sur une compilation 64 bits d'ARM |
arm |
Exécution sur une version 32 bits ARM |
mobile |
L’OS hôte est une plateforme mobile |
pc |
L’OS hôte est une plateforme PC (bureau/ordinateu portable) |
web |
L’OS hôte est un serveur web |
etc |
Les textures utllisant une compression ETC1 sont supportées |
etc2 |
Les textures utllisant une compression ETC2 sont supportées |
s3tc |
Les textures utllisant une compression S3TC (DXT/BC) sont supportées |
pvrtc |
Les textures utllisant une compression PVRTC sont supportées |
Avertissement
À l'exception des balises de caractéristiques de compression de texture, les balises de caractéristiques par défaut sont immuables. Cela signifie qu'elles ne changeront pas en fonction des conditions d'exécution. Par exemple, OS.has_feature("mobile")
renverra false
lors de l'exécution d'un projet exporté en HTML5 sur un appareil mobile.
Pour vérifier si un projet exporté en HTML5 s'exécute sur un appareil mobile, appelle le code JavaScript qui lit l'agent utilisateur du navigateur.
Fonctionnalités personnalisées¶
Il est possible d'ajouter des fonctionnalités personnalisées à une compilation, il suffit d'utiliser le champ correspondant dans le préréglage d'exportation utilisé pour le générer :
Note
Les balises de fonctionnalité personnalisées sont uniquement utilisées lors de l'exécution du projet exporté (y compris avec Déploiement en un clic). Ils ne sont pas utilisés lors de l'exécution du projet à partir de l'éditeur, même si le préréglage d'exportation marqué comme Runnable pour votre plate-forme actuelle a des balises de fonctionnalité personnalisées définies.
Écraser les paramètres du projet¶
Des fonctionnalités peuvent être utilisées pour remplacer des valeurs de configuration spécifiques dans les paramètres du projet. Cela permet de mieux personnaliser n'importe quelle configuration lors d'une compilation.
Dans l'exemple suivant, une icône différente est ajoutée pour la compilation de la démo du jeu (qui a été personnalisé dans un préréglage d'exportation spécial, qui, à son tour, n'inclut que des niveaux de démo).
Après écrasement, un nouveau champ est ajouté pour cette configuration spécifique :
Note
Lorsque vous utilisez la fonctionnalité paramètres de projet "override.cfg" (qui n'est pas liée aux balises de fonctionnalité), n'oubliez pas que les balises de fonctionnalité s'appliquent toujours. Par conséquent, veillez à également remplacer le paramètre par la ou les balises de fonctionnalité souhaitées si vous voulez qu'elles remplacent les paramètres de base du projet sur toutes les plateformes et configurations.
Écrasements par défaut¶
Il y a déjà beaucoup de paramètres qui sont fournis avec des remplacements par défaut, ils peuvent être trouvés dans de nombreuses sections des paramètres du projet.
Personnalisation de la compilation¶
Les tags de fonctionnalité peuvent aussi être utilisés pour personnaliser un processus de compilation, en écrivant un fichier ExportPlugin personnalisé. Ils sont également utilisés pour spécifier quelle bibliothèque partagée est chargée et exportée dans GDNative.