Le conteneur ScreenGui contient GuiObjects à afficher sur l'écran d'un joueur, y compris cadres , étiquettes , boutons et plus encore.Tous les objets et le code d'interface utilisateur sur écran sont stockés et modifiés sur le client.

Pour afficher un ScreenGui et son enfant GuiObjects à chaque joueur qui rejoint l'expérience, placez-le dans le conteneur StarterGui.Lorsqu'un joueur rejoint une expérience et que son personnage apparaît en premier, le ScreenGui et son contenu se clonent dans le conteneur PlayerGui pour ce joueur, situé dans le conteneur Players.

À mesure que l'expérience gagne en ampleur, vous pouvez avoir besoin de plusieurs interfaces d'écran telles qu'un écran de titre, un menu de paramètres, une interface de boutique et plus encore.Dans de tels cas, vous pouvez placer plusieurs conteneurs uniques ScreenGui à l'intérieur de StarterGui et activer la propriété de chaque conteneur Enabled en fonction de si elle doit être visible et active (tandis que false les contenus ne seront pas rendus, le processus d'entrée utilisateur sera traité ou mis à jour en réponse aux changements).

La propriété peut être initialement basculée à travers la fenêtre Propriétés et/ou vous pouvez la définir pendant le temps de jeu à partir d'un script côté client en accédant au joueur's et en le réglant sur ou pour le conteneur souhaité.
Propriétés de conteneur
Les propriétés suivantes vous permettent de personnaliser les insérts d'écran sur plusieurs appareils, l'ordre d'affichage lors de l'utilisation de plusieurs conteneurs d'écran et plus encore.
Insérats d'écran
Les téléphones modernes tirent parti de l'ensemble de l'écran, mais incluent généralement des encoches, des découpes et d'autres éléments qui occupent de l'espace d'écran.Chaque expérience Roblox inclut également les contrôles de barre supérieure pour un accès rapide au menu principal, chat, classement, et plus encore.

Pour garantir que les joueurs peuvent voir et accéder facilement et sans obstruction à toutes les interfaces utilisateur, Roblox fournit la propriété qui contrôle les insérats de la zone de sécurité pour le contenu d'un .
La valeur par défaut de CoreUISafeInsets garde tous les descendants GuiObjects à l'intérieur de la zone de sécurité de l'interface utilisateur principale, libérés des boutons de la barre supérieure et d'autres découpes d'écran.Ce paramètre est recommandé si le ScreenGui contient des éléments d'interface utilisateur interactifs.

Afficher l'ordre
Lors de l'utilisation de plusieurs interfaces ScreenGui, vous pouvez les superposer par l'index Z via leur propriété DisplayOrder.Par exemple, pour afficher un menu de paramètres modal sur un ScreenGui devant l'interface utilisateur principale de l'expérience sur un autre ScreenGui , attribuez un plus élevé DisplayOrder au menu modal que l'interface sous-jacente.
Réinitialisation à l'apparition
La propriété booléenne ResetOnSpawn détermine si les ScreenGui réinitialisations se produisent (se suppriment et se réclament dans le personnage du joueur PlayerGui à chaque fois que le personnage du joueur réapparaît.
Conditions | Réinitialisations |
---|---|
ResetOnSpawn est true (par défaut). | yes |
Le ScreenGui est un descendant indirect de **** de StarterGui ; par exemple, il est placé à l'intérieur d'un Folder situé dans StarterGui . | yes |
est et le est un descendant direct de . | no |
Accéder à l'interface utilisateur du joueur
Comme noté, parenter un ScreenGui à StarterGui clones-le et son enfant GuiObjects dans le conteneur d'un joueur PlayerGui lorsqu'ils rejoignent l'expérience et que leur personnage apparaît en premier.
Si vous devez contrôler le conteneur d'interface utilisateur d'un joueur pendant le temps de jeu, par exemple pour afficher/masquer un élément spécifique ScreenGui ou l'un de ses enfants, y accédez comme suit à partir d'un LocalScript :
LocalScript - Accéder à un joueur's UI
local Players = game:GetService("Players")local player = Players.LocalPlayerlocal playerGui = player.PlayerGuilocal titleScreen = playerGui:WaitForChild("TitleScreen")local settingsMenu = playerGui:WaitForChild("SettingsMenu")titleScreen.Enabled = false -- Masquer l'écran de titresettingsMenu.Enabled = true -- Show settings menu
Désactiver interface utilisateur par défaut
Toutes les expériences Roblox incluent plusieurs éléments d'interface utilisateur activés par défaut.Si vous n'avez besoin d'aucun de ces éléments ou si vous souhaitez les remplacer par vos propres créations, vous pouvez utiliser la méthode SetCoreGuiEnabled() dans un script côté client avec l'option Enum.CoreGuiType associée.
Interface utilisateur par défaut | Enum associé |
---|---|
Liste dynamiquement mise à jour Players liste, généralement utilisée comme une classement . | Enum.CoreGuiType.PlayerList |
La barre du personnage. Ne apparaît pas si la santé du personnage est à pleine santé. | Enum.CoreGuiType.Health |
Le caractère Backpack du personnage qui contient des outils d'expérience . Ne apparaît pas s'il n'y a pas de Tools dans le sac à dos. | Enum.CoreGuiType.Backpack |
La fenêtre de chat texte. | Enum.CoreGuiType.Chat |
Menu contextuel des emotes de caractère emotes. | Enum.CoreGuiType.EmotesMenu |
Une fenêtre affichant la perspective ou la vue d'un joueur de son propre personnage.Ne apparaît pas à moins que le joueur n'ait activé Affichage auto dans le menu Roblox. | Enum.CoreGuiType.SelfView |
Un bouton capture d'écran sur le côté droit de l'écran.Ne apparaît pas à moins que le joueur n'ait activé captures dans le menu Roblox. | Enum.CoreGuiType.Captures |

Script du client - Désactiver les éléments d'interface par défaut
local StarterGui = game:GetService("StarterGui")-- Désactiver la barre de santé et le sac à dos par défautStarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, false)StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)
En outre, les appareils avec des capacités de toucher incluent par défaut un joystick virtuel et un bouton de saut.Si vous le souhaitez, vous pouvez masquer ces éléments en définissant GuiService.TouchControlsEnabled à false dans un script côté client.

Script du client - Désactiver les contrôles tactiles
local GuiService = game:GetService("GuiService")GuiService.TouchControlsEnabled = false