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:
- Trong ReplicatedFirst , tạo một LocalScript .
- 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.LocalPlayerlocal playerGui = player:WaitForChild("PlayerGui")local screenGui = Instance.new("ScreenGui")screenGui.IgnoreGuiInset = truescreenGui.Parent = playerGui-- Thay thế giá trị ScreenGUI bằng các giá trị của sở hữubạnlocal 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-- Loại bỏ màn hình tải của mặc địnhReplicatedFirst: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âyif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui: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.LocalPlayerlocal playerGui = player:WaitForChild("PlayerGui")local screenGui = ReplicatedFirst.LoadingScreenscreenGui.IgnoreGuiInset = truescreenGui.Parent = playerGui-- Loại bỏ màn hình tải của mặc địnhReplicatedFirst: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âyif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui: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.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-- Loại bỏ màn hình tải của mặc địnhReplicatedFirst: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âyif not game:IsLoaded() thengame.Loaded:Wait()endscreenGui:Destroy()