Màn Hình Đang Tải

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Roblox hiển thị màn hình chờ đợi mặc định khi người dùng kết nối với một trải nghiệm, nhưng bạn có thể tùy chỉnh trải nghiệm của bạn với một màn hình chờ tùy chỉnh có chứa nội dung tĩnh hoặc hoạt họa.

Hiển thị Màn Hình Tải Tùy Chỉnh

Để hiển thị một màn hình tải tùy chỉnh, bạn có thể thiết kế một ScreenGui 实例 trực tiếp trong một LocalScript , hoặc bạn có thể tham khảo một ScreenGui

Thiết kế trong LocalScripts

Để thiết kế và hiển thị một màn hình tải tùy chỉnh:

  1. Trong ReplicatedFirst , tạo một LocalScript .
  2. Sử dụng mẫu mã code sau đây để tạo và tùy chỉnh một ScreenGui đối tượng. Bạn có thể điều chỉnh mã sau đây với các giá trị của riêng bạn để tạo thiết kế của bạn:

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
-- Thay thế giá trị ScreenGUI bằng các giá trị của sở hữubạn
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
-- Loại bỏ màn hình tải của mặc định
ReplicatedFirst:RemoveDefaultLoadingScreen()
task.wait(5) -- Bắt buộc màn hình hiển thị cho một số lượng tối thiểu các giây
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui:Destroy()

Tham khảo ScreenGuis

Thay vì tạo ScreenGui qua một Class.LocalScript

Để minh họa quá trình này, sau đây LocalScript đề cập đến một ScreenGui có tên LoadingScreen trong 2>Class.ReplicatedFirst2>, sau đó loại bỏ màn hình chính khởi động mặc định mà người dùng có thể thấy chỉ là màn hình k


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
-- Loại bỏ màn hình tải của mặc định
ReplicatedFirst:RemoveDefaultLoadingScreen()
task.wait(5) -- Bắt buộc màn hình hiển thị cho một số lượng tối thiểu các giây
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui:Destroy()

Thêm hoạt họa

Ngoài các màn hình tĩnh tải tùy chỉnh, bạn cũng có thể thêm hoạt họa vào


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
-- Loại bỏ màn hình tải của mặc định
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) -- Bắt buộc màn hình hiển thị cho một số lượng tối thiểu các giây
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui:Destroy()