Roblox แสดงหน้าจอการโหลดที่เรียบง่ายเมื่อผู้ใช้เชื่อมต่อกับประสบการณ์ แต่คุณสามารถปรับแต่งประสบการณ์ของคุณด้วยหน้าจอการโหลดที่กำหนดเองที่มีเนื้อหาคงที่หรืออนิเมชัน
การแสดงผลหน้าจอการโหลดที่กำหนดเอง
เพื่อแสดงหน้าจอการโหลดที่กําหนดเองให้คุณสามารถออกแบบ ScreenGui ริงค์ในพื้นที่งานของคุณหรือคุณสามารถอ้างอิ
ออกแบบภายใน LocalScripts
เพื่อออกแบบและแสดงผลหน้าจอการโหลดที่กำหนดเอง:
- ใน ReplicatedFirst สร้าง LocalScript
- ใช้ตัวอย่างรหัสต่อไปนี้เพื่อสร้างและปรับแต่งวัตถุ ScreenGui คุณสามารถปรับแต่งรหัสต่อไปนี้ด้วยค่าของคุณเองเพื่อสร้างการออกแบบของคุณ:
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-- แทนที่ ScreenGUI เป็นเจ้าของ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-- ลบหน้าจอการโหลดที่เริ่มต้นReplicatedFirst:RemoveDefaultLoadingScreen()task.wait(5) -- บังคับให้หน้าจอปรากฏขึ้นเป็นเวลาอย่างน้อยสองวินาทีif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui:Destroy()
อ้างถึง ScreenGuis
แทนที่จะสร้าง ScreenGui ผ่าน Class.Local
เพื่อแสดงให้เห็นว่ากระบวนการนี้เกิดขึ้นได้อย่างไร ต่อไปนี้ LocalScript อ้างถึง ScreenGui ที่มีชื่อว่า LoadingScreen ภายใน 1> Class.ReplicatedFirst1> แล้วลบ
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-- ลบหน้าจอการโหลดที่เริ่มต้นReplicatedFirst:RemoveDefaultLoadingScreen()task.wait(5) -- บังคับให้หน้าจอปรากฏขึ้นเป็นเวลาอย่างน้อยสองวินาทีif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui:Destroy()
เพิ่มแอนิเมชัน
นอกเหนือจากหน้าจอการโหลดแบบคงที่แล้วคุณยังสามาร
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-- ลบหน้าจอการโหลดที่เริ่มต้น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) -- บังคับให้หน้าจอปรากฏขึ้นเป็นเวลาอย่างน้อยสองวินาทีif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui:Destroy()