Ladebildschirme

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Roblox zeigt einen standardmäßigen Ladebildschirm an, wenn Benutzer sich mit einem Spiel verbinden, aber du kannst dein Spiel mit einem benutzerdefinierten Ladebildschirm personalisieren, der statische oder animierte Inhalte enthält.

Implementierung

Um einen benutzerdefinierten Ladebildschirm anzuzeigen, kannst du entweder eine ScreenGui-Instanz direkt innerhalb eines LocalScript entwerfen oder auf ein ScreenGui-Objekt in deiner Platzhierarchie verweisen. Beide Optionen nutzen ReplicatedFirst, da dieser Dienst Instanzen an Clients repliziert, bevor alles andere repliziert wird. Dies stellt sicher, dass dein Ladebildschirm das Erste ist, was Benutzer sehen, wenn sie dein Spiel betreten.

Vom Skript

Um einen benutzerdefinierten Ladebildschirm vollständig von einem LocalScript aus zu gestalten und anzuzeigen:

  1. Erstelle ein LocalScript in ReplicatedFirst.
  2. Füge den folgenden Code-Sample ein, um ein ScreenGui-Objekt zu erstellen und anzupassen. Du kannst den folgenden Code mit deinen eigenen Werten anpassen, um dein Design zu erstellen.
Skript-erstellter Ladebildschirm

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
-- Ersetze die ScreenGui-Werte durch deine eigenen
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 = "Laden"
textLabel.TextSize = 32
textLabel.Parent = loadingScreen
-- Entferne den standardmäßigen Ladebildschirm
ReplicatedFirst:RemoveDefaultLoadingScreen()
task.wait(5) -- Zwinge den benutzerdefinierten Ladebildschirm, mindestens 5 Sekunden lang anzuzeigen
if not game:IsLoaded() then
game.Loaded:Wait()
end
loadingScreen:Destroy()

Von vorhandener GUI

Anstatt einen Ladebildschirm ScreenGui vollständig über ein LocalScript zu erstellen, kannst du auch auf ein vorhandenes ScreenGui in deiner Platzhierarchie verweisen. Stelle sicher, dass dein Spiel das referenzierte ScreenGui innerhalb von ReplicatedFirst enthält und dass das ScreenGui UI-Elemente wie TextLabels und ImageLabels umfasst.

Um diesen Prozess zu demonstrieren, verweist das folgende LocalScript auf ein ScreenGui namens LoadingScreen innerhalb von ReplicatedFirst und entfernt dann den standardmäßigen Ladebildschirm, sodass der einzige Ladebildschirm, den ein Spieler sehen kann, dein eigener benutzerdefinierter Ladebildschirm ist.

Existierenden Ladebildschirm referenzieren

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
-- Entferne den standardmäßigen Ladebildschirm
ReplicatedFirst:RemoveDefaultLoadingScreen()
task.wait(5) -- Zwinge den Bildschirm, mindestens einige Sekunden lang angezeigt zu werden
if not game:IsLoaded() then
game.Loaded:Wait()
end
loadingScreen:Destroy()
end

Animationen hinzufügen

Neben statischen benutzerdefinierten Ladebildschirmen kannst du Animationen hinzufügen, um den Ladebildschirm zu verbessern und den Ladefortschritt anzuzeigen. Der einfachste Weg, dies zu tun, besteht darin, ein UI-Element zu erstellen, z.B. ein TextLabel oder ImageLabel, und es dann mit TweenService zu animieren. Zum Beispiel erstellt der folgende Code-Sample ein neues ScreenGui mit einem untergeordneten ImageLabel, entfernt den standardmäßigen Ladebildschirm und lässt dann TweenService die zentralen Elemente einblenden und rotieren, bis das Spiel geladen ist.

Skript-erstellter Ladebildschirm (animiert)

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 = "Laden"
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
-- Entferne den standardmäßigen Ladebildschirm
ReplicatedFirst:RemoveDefaultLoadingScreen()
-- Starte Fade-In-Animation
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()
-- Starte Rotationsanimation
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) -- Zwinge den Bildschirm, mindestens einige Sekunden lang angezeigt zu werden
if not game:IsLoaded() then
game.Loaded:Wait()
end
loadingScreen:Destroy()
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.