Carregando Telas

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

O Roblox exibe uma tela de carregamento padrão quando os usuários se conectam a uma experiência, mas você pode personalizar sua experiência com uma tela de carregamento personalizada que contém conteúdo estático ou animado.

Exibindo Tela de Carregamento Personalizada

Para exibir uma tela de carregamento personalizada, você pode projetar uma instância de ScreenGui diretamente dentro de um LocalScript , ou você pode referenciar um ScreenGui objeto em seu espaço de trabalho. Ambas as opções utilizam 2>Class.ReplicatedFirst2>, como este serviço que

Projetando dentro de LocalScripts

Para projetar e exibir uma tela de carregamento personalizada:

  1. Em ReplicatedFirst , crie um LocalScript.
  2. Use o seguinte código de exemplo para criar e personalizar um ObjetoScreenGui. Você pode modificar o seguinte código com seus próprios valores para criar seu design:

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
-- Substituir os valores do ScreenGUI com os possuir
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
-- Remova a tela de carregamento padrão
ReplicatedFirst:RemoveDefaultLoadingScreen()
task.wait(5) -- Forçar a tela a aparecer por um número mínimo de segundos
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui:Destroy()

Referência a ScreenGuis

Em vez de criar o ScreenGui através de um LocalScript

Para mostrar esse processo, as seguintes referências LocalScript referem-se a um ScreenGui chamado LoadingScreen dentro de 1> Class.ReplicatedFirst1>, e então remove o ecrã de carregamento padrão para que a única tela de carregamento que um usuário pode ver seja sua própria tela de carregamento personalizada:


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
-- Remova a tela de carregamento padrão
ReplicatedFirst:RemoveDefaultLoadingScreen()
task.wait(5) -- Forçar a tela a aparecer por um número mínimo de segundos
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui:Destroy()

Adicionando Animações

Além de telas de carregamento estáticas personalizadas, você pode adicionar animações para melhorar a tela de carregamento e indicar o progresso de carregamento


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
-- Remova a tela de carregamento padrão
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) -- Forçar a tela a aparecer por um número mínimo de segundos
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui:Destroy()