ReplicatedFirst
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Ein Container, dessen Inhalte zuerst an alle Clients repliziert (aber nicht zurück zum Server) werden, bevor etwas anderes.
Wozu dient ReplicatedFirst?
ReplicatedFirst wird am häufigsten verwendet, um LocalScripts und andere Objekte zu speichern, die für den startendes Spiels unerlässlich sind. Als Inhalte von ReplicatedFirst auf dem Client repliziert werden, bevor etwas anderes im Spiel, ist es ideal zum Erstellen von Lade-GuIs oder Tutorials.
Für Objekte, die nicht repliziert werden müssen, sollten Entwickler stattdessen den ReplicatedStorage Container verwenden.
Wie kann ich ReplicatedFirst verwenden?
LocalScripts Platiert innerhalb von ReplicatedFirst wird ausführen. Dies bedeutet, dass der Code für benutzerdefinierte Ladebildschirme oder andere ReplicatedFirst-Benutzeroberflächen ausgeführt werden kann, um den frühesten verfügbaren Zeitpunkt zu ermöglichen.
Es gibt eine Reihe von wichtigen Aspekten, die Entwickler berücksichtigen müssen, wenn sie LocalScripts in ReplicatedFirst ausführen.
- Seine Inhalte replizieren sich vor allem anderen im Spiel, was bedeutet, dass LocalScripts , die in ReplicatedFirst ausgeführt werden, auf jedes Objekt warten müssen, das sie replizieren benötigen, indem sie Instance:WaitForChild() verwenden.
- Alle Objekte, die von einem LocalScript in ReplicatedFirst verwendet werden sollen, sollten auch in ReplicatedFirst übergeordnet sein. Andernfalls können sie spät auf den Client repliziert werden, wodurch das Skript und der Vorteil von ReplicatedFirst negiert werden.
ReplicatedFirst enthält auch die Funktion ReplicatedFirst:RemoveDefaultLoadingScreen(), mit der Sie sofort den Standard-Roblox-Ladebildschirm entfernen können. Beachten Sie, dass, wenn ein Objekt in ReplicatedFirst platziert wurde, der Standard-Ladebildschirm nach 5 Sekunden unabhängig davon, ob diese Funktion aufgerufen wurde oder nicht, entfernt wird.
Code-Beispiele
local Players = game:GetService("Players")
local ReplicatedFirst = game:GetService("ReplicatedFirst")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
-- Create a basic loading screen
local screenGui = Instance.new("ScreenGui")
screenGui.IgnoreGuiInset = true
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
-- Parent entire screen GUI to player GUI
screenGui.Parent = playerGui
-- Remove the default loading screen
ReplicatedFirst:RemoveDefaultLoadingScreen()
--wait(3) -- Optionally force screen to appear for a minimum number of seconds
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui:Destroy()
Zusammenfassung
Methoden
Entfernt sofort den Standard-Roblox-Ladebildschirm. Beachten Sie, dass wenn ein Objekt in ReplicatedFirst platziert wurde, der Standard-Ladebildschirm nach 5 Sekunden unabhängig davon, ob diese Funktion aufgerufen wurde oder nicht, entfernt wird.
Eigenschaften
Methoden
RemoveDefaultLoadingScreen
Entfernt sofort den Standard-Roblox-Ladebildschirm. Beachten Sie, dass wenn ein Objekt in ReplicatedFirst platziert wurde, der Standard-Ladebildschirm nach 5 Sekunden unabhängig davon, ob diese Funktion aufgerufen wurde oder nicht, entfernt wird.
Entwickler sollten diese Funktion von einem LocalScript in ReplicatedFirst ausführen, da Skripte in ReplicatedFirst vor allem anderen ausgeführt werden.
Es wird empfohlen, den Standard-Ladebildschirm nicht zu entfernen, es sei denn, der Entwickler möchte sein eigenes Ladebildschirm als Alternative anzeigen. Wenn der Standard-Bildschirm entfernt wird, ohne dass Benutzer ersetzt werden, können Geometrie-Lade im Hintergrund angezeigt werden.
Rückgaben
Code-Beispiele
local Players = game:GetService("Players")
local ReplicatedFirst = game:GetService("ReplicatedFirst")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
-- Create a basic loading screen
local screenGui = Instance.new("ScreenGui")
screenGui.IgnoreGuiInset = true
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
-- Parent entire screen GUI to player GUI
screenGui.Parent = playerGui
-- Remove the default loading screen
ReplicatedFirst:RemoveDefaultLoadingScreen()
--wait(3) -- Optionally force screen to appear for a minimum number of seconds
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui:Destroy()