ReplicatedFirst
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Un container le cui parti vengono replicate prima a tutti i client (ma non al Server), prima di qualsiasi altra cosa.
Cos'è ReplicatedFirst per?
ReplicatedFirst viene comunemente utilizzato per memorizzare LocalScripts e altri oggetti che sono essenziali per il Iniziare, cominciaredel Gioco. Poiché i contenuti di ReplicatedFirst si replica sul client prima di qualsiasi altra cosa nel Gioco, è ideale per la creazione di GUI di caricamento o tutorial.
Per gli oggetti che non hanno bisogno di essere replicati prima, gli sviluppatori dovrebbero utilizzare il container ReplicatedStorage invece.
Come posso usare ReplicatedFirst?
LocalScripts posizionato all'interno di ReplicatedFirst sarà Eseguire. Ciò significa che il codice per schermi di caricamento personalizzati o altri schermi di caricamento ReplicatedFirst possono essere eseguiti all'早hest possibile.
Ci sono una serie di considerazioni chiave che gli sviluppatori devono ricordare quando si esegue LocalScripts in ReplicatedFirst.
- I suoi contenuti si replica prima di qualsiasi altra cosa nel Gioco, il che significa che LocalScripts in esecuzione in ReplicatedFirst dovrà aspettare qualsiasi oggetto che richieda per replicare usando Instance:WaitForChild()
- Qualsiasi oggetto che deve essere utilizzato da un LocalScript in ReplicatedFirst deve essere anche genitori di ReplicatedFirst. Altrimenti, potrebbero replicarsi sul client in ritardo, rendendo lo script e negando il vantaggio di ReplicatedFirst.
ReplicatedFirst include anche la funzione ReplicatedFirst:RemoveDefaultLoadingScreen() , che può essere utilizzata per rimuovere immediatamente la schermata di caricamento predefinita Roblox. Nota se qualsiasi oggetto è stato inserito in ReplicatedFirst, la schermata di caricamento predefinita verrà rimossa dopo 5 secondi indipendentemente dal fatto che questa funzione sia stata chiamata o meno.
Campioni di codice
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()
Sommario
Proprietà
Metodi
Rimuove immediatamente la schermata di caricamento predefinita Roblox. Nota che se qualsiasi oggetto è stato inserito in ReplicatedFirst , la schermata di caricamento predefinita verrà rimossa dopo 5 secondi indipendentemente dal fatto che questa funzione sia stata chiamata o no.
Proprietà
Metodi
RemoveDefaultLoadingScreen
Rimuove immediatamente la schermata di caricamento predefinita Roblox. Nota che se qualsiasi oggetto è stato inserito in ReplicatedFirst , la schermata di caricamento predefinita verrà rimossa dopo 5 secondi indipendentemente dal fatto che questa funzione sia stata chiamata o no.
Gli sviluppatori dovrebbero eseguire questa funzione da un LocalScript in ReplicatedFirst, poiché gli script in ReplicatedFirst eseguiranno prima di qualsiasi altra cosa.
Si consiglia di non rimuovere la schermata di caricamento predefinita a meno che il sviluppatore non desideri visualizzare la propria schermata di caricamento come alternativa. Se la schermata predefinita viene rimossa senza sostituire gli utenti, sarà possibile visualizzare il caricamento della geometria nel background.
Restituzioni
Campioni di codice
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()