ReplicatedFirst
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Một container whose contents are replicated to all clients (but not back to the máy chủ) first before anything else.
ReplicatedFirst là gì?
ReplicatedFirst được sử dụng phổ biến nhất để lưu trữ LocalScripts và các thống kê khác mà là cần thiết cho việc bắt đầu trò chơi. Khi nội dung của ReplicatedFirst sao lưu cho client trước bất kỳ thứ gì trong trò chơi, nó là lý tưởng để tạo GUIs hoặc hướng d��
Đối với những thống nhất mà không cần phải được sao chép trước đó, các nhà phát triển nên sử dụng ReplicatedStorage container thay vào đó.
Làm thế nào để tôi sử dụng ReplicatedFirst?
LocalScripts được đặt trong ReplicatedFirst sẽ chạy. Điều này có nghĩa là mã cho các màn hình tải trước tùy chỉnh hoặc các màn hình tải trước khác của ReplicatedFirst có thể được chạy ở điểm chạy mới nhất.
Có một số lượng các yếu tố quan trọng mà các nhà phát triển cần phải nhớ khi thiết kế LocalScripts trong ReplicatedFirst.
- Nội dung của nó sao chép trước bất kỳ thứ gì khác trong trò chơi, có nghĩa là LocalScripts chạy trong ReplicatedFirst sẽ cần phải đợi bất kỳ vật phẩm nào họ yêu cầu để sao chép bằng cách sử dụng Instance:WaitForChild()
- Bất kỳ đối tượng nào được sử dụng bởi một LocalScript ở ReplicatedFirst cũng nên được gắn với ReplicatedFirst. Nếu không, chúng có thể sao chép đến khách hàng cuối cùng, khiến cho script và làm mất lợi ích của ReplicatedFirst.
ReplicatedFirst cũng bao gồm chức năng ReplicatedFirst:RemoveDefaultLoadingScreen() , có thể được sử dụng để ngay lập tức xóa bỏ màn hình tải Roblox mặc định. Lưu ý nếu bất kỳ đối tượng nào đã được đặt vào ReplicatedFirst, màn hình tải sẽ bị xóa sau 5 giây bất kể
Mẫu mã
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()
Tóm Tắt
Phương Pháp
Ngay lập tức loại bỏ màn hình tải của Roblox mặc định. Lưu ý rằng nếu bất kỳ đối tượng nào đã được đặt vào ReplicatedFirst, màn hình tải của Roblox sẽ bị xóa sau 5 giây bất kể có phải gọi chức năng này hay không.
Thuộc Tính
Phương Pháp
RemoveDefaultLoadingScreen
Ngay lập tức loại bỏ màn hình tải của Roblox mặc định. Lưu ý rằng nếu bất kỳ đối tượng nào đã được đặt vào ReplicatedFirst, màn hình tải của Roblox sẽ bị xóa sau 5 giây bất kể có phải gọi chức năng này hay không.
Các nhà phát triển nên thực hiện chức năng này từ một LocalScript ở ReplicatedFirst, vì các script ở ReplicatedFirst sẽ được thiết lập trước bất kỳ thứ gì khác.
Nên không nên xóa màn hình tải của mặc định trừ khi nhà phát triển muốn hiển thị màn hình tải của riêng họ như một lựa chọn. Nếu màn hình của mặc định được xóa mà không có người dùng thay thế, họ sẽ có thể xem được tải hình ảnh trong nền.
Lợi Nhuận
Mẫu mã
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()