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é :
- Dans ReplicatedFirst , créez un LocalScript .
- 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.LocalPlayerlocal playerGui = player:WaitForChild("PlayerGui")local screenGui = Instance.new("ScreenGui")screenGui.IgnoreGuiInset = truescreenGui.Parent = playerGui-- Remplacez les valeurs de ScreenGUI par les posséderlocal textLabel = Instance.new("TextLabel")textLabel.Size = UDim2.new(1, 0, 1, 0)textLabel.BackgroundColor3 = Color3.fromRGB(0, 20, 40)textLabel.Font = Enum.Font.GothamMediumtextLabel.TextColor3 = Color3.new(0.8, 0.8, 0.8)textLabel.Text = "Loading"textLabel.TextSize = 28textLabel.Parent = screenGui-- Supprimer l'écran de chargement par défautReplicatedFirst:RemoveDefaultLoadingScreen()task.wait(5) -- Forcer l'écran à apparaître pendant un nombre minimum de secondesif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui: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.LocalPlayerlocal playerGui = player:WaitForChild("PlayerGui")local screenGui = ReplicatedFirst.LoadingScreenscreenGui.IgnoreGuiInset = truescreenGui.Parent = playerGui-- Supprimer l'écran de chargement par défautReplicatedFirst:RemoveDefaultLoadingScreen()task.wait(5) -- Forcer l'écran à apparaître pendant un nombre minimum de secondesif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui: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.LocalPlayerlocal playerGui = player:WaitForChild("PlayerGui")local screenGui = Instance.new("ScreenGui")screenGui.IgnoreGuiInset = truescreenGui.Parent = playerGuilocal textLabel = Instance.new("TextLabel")textLabel.Size = UDim2.new(1, 0, 1, 0)textLabel.BackgroundColor3 = Color3.fromRGB(0, 20, 40)textLabel.Font = Enum.Font.GothamMediumtextLabel.TextColor3 = Color3.new(0.8, 0.8, 0.8)textLabel.Text = "Loading"textLabel.TextSize = 28textLabel.Parent = screenGuilocal loadingRing = Instance.new("ImageLabel")loadingRing.Size = UDim2.new(0, 256, 0, 256)loadingRing.BackgroundTransparency = 1loadingRing.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éfautReplicatedFirst: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 secondesif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui:Destroy()