ReplicatedFirst

显示已弃用

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

无法创建
服务

一个容器的内容首先复制到所有客户端(但不会返回到服务器),然后再复制到其他任何东西。

复制第一个为什么?

复制第一个最常用于存储游戏开始必需的对象。复制第一个内容到客户端之前,在游戏中创建其他对象,它是理想的创建加载 GUI 或教程。

对于不需要复制的对象,开发人员应该使用 ReplicatedStorage 容器。

如何使用 ReplicatedFirst?

LocalScripts 放置在 ReplicatedFirst 中运行。这意味着为自定义加载屏幕或其他 ReplicatedFirst 使用的代码可以在最早的时候运奔跑。

在 ReplicatedFirst 中运行 LocalScripts 时,开发人员需要记住以下一些关键考虑。

  • 它的内容在游戏中的任何其他东西之前重复,这意味着 LocalScripts 在 ReplicatedFirst 运行时需要等待任何它们需要复制使用 Instance:WaitForChild() 的对象。
  • 复制的第一个使用 LocalScript 的对象也应该成为 ReplicatedFirst 的父级。否则,它们可能会迟一点复制到客户端,并且否定 ReplicatedFirst 的好处。

复制第一个还包括 ReplicatedFirst:RemoveDefaultLoadingScreen() 功能,可以立即移除默认 Roblox 加载屏幕。注意任何对象在 ReplicatedFirst 中放置后,默认加载屏幕将在 5 秒后移除,无论此功能是否调用或不是。

代码示例

Custom Loading Screen

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()

概要

方法

属性

方法

RemoveDefaultLoadingScreen

void

立即移除默认 Roblox 加载屏幕。如果任何对象已放置在 ReplicatedFirst ,默认加载屏幕将在 5 秒后无论是否调用此功能仍然会移除。

开发人员应该从 LocalScriptReplicatedFirst 中运行此函数,因为 ReplicatedFirst 中的脚本将在任何其他东西之前执行。

建议不要移除默认加载屏幕,除非开发者希望将其自己的加载屏幕作为替代。如果默认屏幕被移除,用户无法在后台看到几何图形加载。


返回

void

代码示例

Custom Loading Screen

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()

活动