Conteneurs d'interface utilisateur sur écran

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

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.

Example ScreenGui with various GuiObject children, including a Frame, TextLabel, TextBox, and ImageButton.

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.

Diagram of how a ScreenGui clones from StarterGui to a player's PlayerGui

À 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).

Explorer hierarchy showing multiple ScreenGui containers, one enabled and the others disabled, in order to control which are visible at a given time.

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.

Mobile device showing Roblox top bar buttons and device cutout.

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.

Mobile device showing the core UI safe area.

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.

ConditionsRé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.LocalPlayer
local playerGui = player.PlayerGui
local titleScreen = playerGui:WaitForChild("TitleScreen")
local settingsMenu = playerGui:WaitForChild("SettingsMenu")
titleScreen.Enabled = false -- Masquer l'écran de titre
settingsMenu.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éfautEnum 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
Core UI elements in every Roblox experience.
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éfaut
StarterGui: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.

UI elements for touch-capable devices in every Roblox experience
Script du client - Désactiver les contrôles tactiles

local GuiService = game:GetService("GuiService")
GuiService.TouchControlsEnabled = false