ReplicatedFirst
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
Un contenedor cuyo contenido se replica a todos los clientes (pero no de vuelta al servidor) primero que nada más.
¿Qué es ReplicatedFirst para?
ReplicatedFirst se utiliza con más frecuencia para almacenar LocalScripts y otros objetos que son esenciales para el iniciardel juego. Como los contenidos de ReplicatedFirst se replican al cliente antes de cualquier otra cosa en el juego, es ideal para crear GUI de carga o tutoriales.
Para los objetos que no necesitan ser replicados primero, los desarrolladores deberían usar el contenedor ReplicatedStorage en su lugar.
¿Cómo puedo usar ReplicatedFirst?
LocalScripts colocado dentro de ReplicatedFirst se ejecutará. Esto significa que el código para cargar pantallas personalizadas o otras pantallas de ReplicatedFirst se pueden ejecutar en el momento más temprano posible.
Hay una serie de consideraciones clave que los desarrolladores deben tener en cuenta al ejecutar LocalScripts en ReplicatedFirst.
- Sus contenidos se replican antes de cualquier otra cosa en el juego, lo que significa que LocalScripts que se ejecuta en ReplicatedFirst tendrá que esperar a cualquier objeto que requieran para replicar usando Instance:WaitForChild()
- Cualquier objeto que se use por un LocalScript en ReplicatedFirst debe también estar asociado a ReplicatedFirst. De lo contrario, pueden replicarse al cliente tarde, lo que da lugar al script y a la negación del beneficio de ReplicatedFirst.
ReplicatedFirst también incluye la función ReplicatedFirst:RemoveDefaultLoadingScreen() , que se puede usar para eliminar inmediatamente la pantalla de carga predeterminada de Roblox. Tenga en cuenta si algún objeto se ha colocado en ReplicatedFirst, la pantalla de carga predeterminada se eliminará después de 5 segundos, independientemente de que esta función se haya llamado o no.
Muestras de código
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()
Resumen
Métodos
Inmediatamente elimina la pantalla de inicio predeterminada de Roblox. Nota que si se ha colocado algún objeto en ReplicatedFirst, la pantalla de inicio predeterminada se eliminará después de 5 segundos, independientemente de que esta función se haya llamado o no.
Propiedades
Métodos
RemoveDefaultLoadingScreen
Inmediatamente elimina la pantalla de inicio predeterminada de Roblox. Nota que si se ha colocado algún objeto en ReplicatedFirst, la pantalla de inicio predeterminada se eliminará después de 5 segundos, independientemente de que esta función se haya llamado o no.
Los desarrolladores deberían ejecutar esta función desde un LocalScript en ReplicatedFirst, ya que los scripts en ReplicatedFirst ejecutarán antes de cualquier otra cosa.
Se recomienda no eliminar la pantalla de carga predeterminada a menos que el desarrollador desee mostrar su propia pantalla de carga como alternativa. Si la pantalla predeterminada se elimina sin usuarios de reemplazo, se podrá ver la carga de geometría en el fondo.
Devuelve
Muestras de código
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()