Écrans de chargement

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

Roblox affiche une page d'accueil par défaut lorsque les utilisateurs se connectent à une expérience, mais vous pouvez personnaliser votre expérience avec un écran d'accueil personnalisé qui contient du contenu statique ou animé.

Affichage des écrans de chargement personnalisés

Pour afficher un écran de chargement personnalisé, vous pouvez soit concevoir une instance ScreenGui directement dans un LocalScript , soit vous référencer à un objet ScreenGui dans votre espace de travail. Les deux options utilisent 1> Class.ReplicatedFirst1>, car ce service

Conception dans LocalScripts

Pour concevoir et afficher un écran de chargement personnalisé :

  1. Dans ReplicatedFirst , créez un LocalScript .
  2. Utilisez le code suivant pour créer et personnaliser un objet ScreenGui. Vous pouvez modifier le code suivant avec vos propres valeurs pour créer votre conception :

local Players = game:GetService("Players")
local ReplicatedFirst = game:GetService("ReplicatedFirst")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local screenGui = Instance.new("ScreenGui")
screenGui.IgnoreGuiInset = true
screenGui.Parent = playerGui
-- Remplacez les valeurs de ScreenGUI par les posséder
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.BackgroundColor3 = Color3.fromRGB(0, 20, 40)
textLabel.Font = Enum.Font.GothamMedium
textLabel.TextColor3 = Color3.new(0.8, 0.8, 0.8)
textLabel.Text = "Loading"
textLabel.TextSize = 28
textLabel.Parent = screenGui
-- Supprimer l'écran de chargement par défaut
ReplicatedFirst:RemoveDefaultLoadingScreen()
task.wait(5) -- Forcer l'écran à apparaître pendant un nombre minimum de secondes
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui:Destroy()

Référence à ScreenGuis

Au lieu de créer le ScreenGui via un LocalScript , vous pouvez également

Pour démontrer ce processus, les références suivantes LocalScript référent un ScreenGui nommé LoadingScreen dans 1> Class.ReplicatedFirst1>, puis supprime le panneau d'accueil par défaut pour que le seul panneau d'accueil que l'utilisateur peut voir soit votre panneau d'accueil personnalisé :


local Players = game:GetService("Players")
local ReplicatedFirst = game:GetService("ReplicatedFirst")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local screenGui = ReplicatedFirst.LoadingScreen
screenGui.IgnoreGuiInset = true
screenGui.Parent = playerGui
-- Supprimer l'écran de chargement par défaut
ReplicatedFirst:RemoveDefaultLoadingScreen()
task.wait(5) -- Forcer l'écran à apparaître pendant un nombre minimum de secondes
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui:Destroy()

Ajouter des animations

En plus des écrans de chargement statiques personnalisés, vous pouvez ajouter des animations pour améliorer l'écran de chargement et indiquer le chargement du progr


local Players = game:GetService("Players")
local ReplicatedFirst = game:GetService("ReplicatedFirst")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local screenGui = Instance.new("ScreenGui")
screenGui.IgnoreGuiInset = true
screenGui.Parent = playerGui
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.BackgroundColor3 = Color3.fromRGB(0, 20, 40)
textLabel.Font = Enum.Font.GothamMedium
textLabel.TextColor3 = Color3.new(0.8, 0.8, 0.8)
textLabel.Text = "Loading"
textLabel.TextSize = 28
textLabel.Parent = screenGui
local loadingRing = Instance.new("ImageLabel")
loadingRing.Size = UDim2.new(0, 256, 0, 256)
loadingRing.BackgroundTransparency = 1
loadingRing.Image = "rbxassetid://4965945816"
loadingRing.AnchorPoint = Vector2.new(0.5, 0.5)
loadingRing.Position = UDim2.new(0.5, 0, 0.5, 0)
loadingRing.Parent = screenGui
-- Supprimer l'écran de chargement par défaut
ReplicatedFirst:RemoveDefaultLoadingScreen()
local tweenInfo = TweenInfo.new(4, Enum.EasingStyle.Linear, Enum.EasingDirection.In, -1)
local tween = TweenService:Create(loadingRing, tweenInfo, {Rotation = 360})
tween:Play()
task.wait(5) -- Forcer l'écran à apparaître pendant un nombre minimum de secondes
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui:Destroy()