Roblox wyświetla domyślną ekran ładowania, gdy użytkownicy łączą się z doświadczeniem, ale możesz dostosować swoje doświadczenie za pomocą ekranu ładowania, który zawiera statyczną lub animowaną treść.
Pokazywanie niestandardowych ekranów ładowania
Aby wyświetlić niestandardowy ekran ładowania, możesz zaprojektować instancję ScreenGui bezpośrednio w LocalScript, lub możesz zacząć odnośnik do ScreenGui obiektu w swoim przestrzeń roboczą. Obie opcje używają
Projektowanie w lokalnych skryptach
Aby zaprojektować i wyświetlić niestandardowy ekran ładowania:
- W ReplicatedFirst utwórz LocalScript.
- Użyj poniższego kodu przykładu, aby stworzyć i dostosować obiekt ScreenGui. Możesz zmodyfikować ten kod własnymi wartościami, aby stworzyć swój projekt:
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-- Zastąp wartości ScreenGUI posiadaćlocal 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-- Usuń domyślną ekran ładowaniaReplicatedFirst:RemoveDefaultLoadingScreen()task.wait(5) -- Zmusz ekran do pojawienia się przez minimum sekundif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui:Destroy()
Odwoływanie się do ScreenGuis
Zamiast tworzyć ScreenGui za pośrednictwem Class.Local
Aby pokazać ten proces, następujące LocalScript odnosi się do ScreenGui o nazwie Ładowanie ekranu w 2>Class.ReplicatedFirst2>, a następnie usuwa ekran ładowania domyślny, aby jedynym ekranem ładowania był ekran ładowania niestandardowy:
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-- Usuń domyślną ekran ładowaniaReplicatedFirst:RemoveDefaultLoadingScreen()task.wait(5) -- Zmusz ekran do pojawienia się przez minimum sekundif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui:Destroy()
Dodawanie Animacji
Oprócz statycznych niestandardowych ładowania ekranów można dodać animacje do poprawy ekranu ładowania i wskazać post
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-- Usuń domyślną ekran ładowaniaReplicatedFirst: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) -- Zmusz ekran do pojawienia się przez minimum sekundif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui:Destroy()