Ładowanie ekranów

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

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:

  1. W ReplicatedFirst utwórz LocalScript.
  2. 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.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local screenGui = Instance.new("ScreenGui")
screenGui.IgnoreGuiInset = true
screenGui.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.GothamMedium
textLabel.TextColor3 = Color3.new(0.8, 0.8, 0.8)
textLabel.Text = "Loading"
textLabel.TextSize = 28
textLabel.Parent = screenGui
-- Usuń domyślną ekran ładowania
ReplicatedFirst:RemoveDefaultLoadingScreen()
task.wait(5) -- Zmusz ekran do pojawienia się przez minimum sekund
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui: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.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local screenGui = ReplicatedFirst.LoadingScreen
screenGui.IgnoreGuiInset = true
screenGui.Parent = playerGui
-- Usuń domyślną ekran ładowania
ReplicatedFirst:RemoveDefaultLoadingScreen()
task.wait(5) -- Zmusz ekran do pojawienia się przez minimum sekund
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui: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.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
-- Usuń domyślną ekran ładowania
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) -- Zmusz ekran do pojawienia się przez minimum sekund
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui:Destroy()