ReplicatedFirst
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Ein Container, dessen Inhalt zuerst auf alle Clients repliziert wird (aber nicht zurück zum Server), vor allem anderen.
Wozu ist ReplicatedFirst?
ReplicatedFirst wird am häufigsten verwendet, um LocalScripts und andere Objekte zu speichern, die für den startendes Spiels unerlässlich sind.Da die Inhalte von ReplicatedFirst auf den Client repliziert werden, bevor irgendetwas anderes im Spiel passiert, ist es ideal für die Erstellung von Lade-GUIs oder Tutorials.
Für Objekte, die nicht zuerst repliziert werden müssen, sollten Entwickler stattdessen den ReplicatedStorage Container verwenden.
Wie kann ich ReplicatedFirst verwenden?
LocalScripts innerhalb von ReplicatedFirst wird ausführen.Das bedeutet, dass Code für benutzerdefinierte Ladebildschirme oder andere ReplicatedFirst-Verwendungen so früh wie möglich ausgeführt werden kann.
Es gibt eine Reihe von wichtigen Überlegungen, an die Entwickler sich erinnern müssen, wenn sie LocalScripts.
- Sein Inhalt wird vor allem anderen im Spiel repliziert, was bedeutet, dass LocalScripts ausgeführt werden muss, um auf alle Objekte zu warten, die repliziert werden müssen, indem sie Instance:WaitForChild() verwendet werden
- Alle Objekte, die von einem LocalScript in ReplicatedFirst verwendet werden sollen, sollten auch zu ReplicatedFirst übergeordnet werden.Ansonsten können sie sich möglicherweise zu spät an den Client übertragen, wodurch das Skript negiert wird und der Nutzen von ReplicatedFirst verringert wird.
ReplicatedFirst enthält auch die Funktion ReplicatedFirst:RemoveDefaultLoadingScreen(), die verwendet werden kann, um die Standard-Roblox-Ladebildschirm sofort zu entfernen.Beachten Sie, ob ein Objekt in ReplicatedFirst platziert wurde, das Standardladebild wird nach 5 Sekunden entfernt, unabhängig davon, ob diese Funktion aufgerufen wurde oder nicht.
Code-Beispiele
This sample demonstrates a custom loading screen with a basic TextLabel. The code should be placed in a LocalScript within ReplicatedFirst. To expand on this sample with loading screen animations, see the Custom Loading Screens article.
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, ob ein Objekt in ReplicatedFirst platziert wurde, wird der Standard-Ladebildschirm nach 5 Sekunden unabhängig davon entfernt, ob diese Funktion aufgerufen wurde oder nicht.
Eigenschaften
Methoden
RemoveDefaultLoadingScreen
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()