Schermate di caricamento

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Roblox visualizza una schermata di caricamento predefinita quando gli utenti si connettono a un gioco, ma puoi personalizzare il tuo gioco con una schermata di caricamento personalizzata che contiene contenuti statici o animati.

Implementazione

Per visualizzare una schermata di caricamento personalizzata, puoi progettare direttamente un'istanza di ScreenGui all'interno di uno LocalScript, oppure puoi fare riferimento a un oggetto ScreenGui nella gerarchia del tuo posto. Entrambe le opzioni utilizzano ReplicatedFirst, poiché questo servizio replica le istanze ai client prima che qualsiasi altra cosa sia replicata. Questo garantisce che la tua schermata di caricamento sia la prima cosa che gli utenti vedono quando entrano nel tuo gioco.

Da script

Per progettare e visualizzare una schermata di caricamento personalizzata interamente da uno LocalScript:

  1. Incolla il seguente codice campione per creare e personalizzare un oggetto ScreenGui. Puoi modificare il seguente codice con i tuoi valori per creare il tuo design.
Schermata di caricamento creata dallo script

local Players = game:GetService("Players")
local ReplicatedFirst = game:GetService("ReplicatedFirst")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local loadingScreen = Instance.new("ScreenGui")
loadingScreen.IgnoreGuiInset = true
loadingScreen.Parent = playerGui
-- Sostituisci i valori della ScreenGui con i tuoi
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.BackgroundColor3 = Color3.fromRGB(0, 20, 40)
textLabel.Font = Enum.Font.DenkOne
textLabel.TextColor3 = Color3.new(0.8, 0.8, 0.8)
textLabel.Text = "Caricamento"
textLabel.TextSize = 32
textLabel.Parent = loadingScreen
-- Rimuovi la schermata di caricamento predefinita
ReplicatedFirst:RemoveDefaultLoadingScreen()
task.wait(5) -- Forza la schermata di caricamento personalizzata a apparire per un tempo minimo
if not game:IsLoaded() then
game.Loaded:Wait()
end
loadingScreen:Destroy()

Da GUI esistente

Invece di creare una schermata di caricamento ScreenGui interamente attraverso uno LocalScript, puoi anche fare riferimento a un ScreenGui esistente nella gerarchia del tuo posto. Assicurati che il tuo gioco includa la ScreenGui referenziata all'interno di ReplicatedFirst e che il ScreenGui includa elementi UI come TextLabels e ImageLabels.

Per dimostrare questo processo, il seguente LocalScript fa riferimento a un ScreenGui denominato LoadingScreen all'interno di ReplicatedFirst, quindi rimuove la schermata di caricamento predefinita in modo che l'unica schermata di caricamento che un giocatore possa vedere sia la tua schermata di caricamento personalizzata.

Riferimento a una schermata di caricamento esistente

local Players = game:GetService("Players")
local ReplicatedFirst = game:GetService("ReplicatedFirst")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local loadingScreen = ReplicatedFirst:FindFirstChild("LoadingScreen")
if loadingScreen then
loadingScreen.IgnoreGuiInset = true
loadingScreen.Parent = playerGui
-- Rimuovi la schermata di caricamento predefinita
ReplicatedFirst:RemoveDefaultLoadingScreen()
task.wait(5) -- Forza la schermata a apparire per un numero minimo di secondi
if not game:IsLoaded() then
game.Loaded:Wait()
end
loadingScreen:Destroy()
end

Aggiungi animazioni

Oltre alle schermate di caricamento statiche personalizzate, puoi aggiungere animazioni per migliorare la schermata di caricamento e indicare il progresso del caricamento. Il modo più semplice per farlo è creare un elemento UI, come un TextLabel o un ImageLabel, e poi animarlo utilizzando TweenService. Ad esempio, il seguente codice campione crea un nuovo ScreenGui con un ImageLabel figlio, rimuove la schermata di caricamento predefinita, quindi TweenService sfuma e ruota gli elementi centrali fino a quando il gioco non viene caricato.

Schermata di caricamento creata dallo script (Animata)

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 loadingScreen = Instance.new("ScreenGui")
loadingScreen.IgnoreGuiInset = true
loadingScreen.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.DenkOne
textLabel.TextColor3 = Color3.new(0.8, 0.8, 0.8)
textLabel.Text = "Caricamento"
textLabel.TextSize = 32
textLabel.TextTransparency = 1
textLabel.Parent = loadingScreen
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.ImageTransparency = 1
loadingRing.Parent = loadingScreen
-- Rimuovi la schermata di caricamento predefinita
ReplicatedFirst:RemoveDefaultLoadingScreen()
-- Inizia e avvia le transizioni di sfumatura
local fadeTweenInfo = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 2)
local fadeTween1 = TweenService:Create(textLabel, fadeTweenInfo, {TextTransparency = 0})
local fadeTween2 = TweenService:Create(loadingRing, fadeTweenInfo, {ImageTransparency = 0})
fadeTween1:Play()
fadeTween2:Play()
-- Inizia e avvia la transizione di rotazione
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) -- Forza la schermata a apparire per un numero minimo di secondi
if not game:IsLoaded() then
game.Loaded:Wait()
end
loadingScreen:Destroy()
© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.