ReplicatedFirst
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
คอนเทนเนอร์ที่มีเนื้อหาถูกเลียนแบบไปยังลูกค้าทั้งหมด (แต่ไม่ได้กลับไปที่เซิร์ฟเวอร์) ก่อนอื่น ๆ
ReplicatedFirst ใช้สำหรับอะไร?
ReplicatedFirst ใช้เพื่อเก็บไอเท็มที่จำเป็นสำหรับการเริ่มเกม เช่น LocalScripts และอื่น ๆ ที่เป็นส่วนหนึ่งของเนื้อหา ReplicatedFirst จะถูกเรียกให้เก็บไว้ในคลายันต์ก่อนอื่นในเกม ดัง
สำหรับวัตถุที่ไม่จำเป็นต้องเคลียดรีพลีทก่อน ผู้พัฒนาควรใช้คอนเทนเนอร์ ReplicatedStorage แทน
ฉันจะใช้ ReplicatedFirst ได้อย่างไร?
LocalScripts วางไว้ภายใน ReplicatedFirst จะดำเนินการ นี่หมายถึงโค้ดสำหรับหน้าจอการโหลดขั้นสูงหรือหน้าจออื่น ๆ ของ ReplicatedFirst สามารถดำเนินการได้ในจุดเร็วที่สุด
มีข้อควรพิจารณาหลายประการที่ผู้พัฒนาต้องจำไว้เมื่อใช้ LocalScripts ใน ReplicatedFirst
- เนื้อหาของมันจะเรียบเรียงก่อนสิ่งอื่นใดในเกมหมายถึง LocalScripts ที่วิ่งใน ReplicatedFirst จะต้องรอให้พร้อมสำหรับสิ่งที่พวกเขาต้องการให้เรียบเรียงโดยใช้ Instance:WaitForChild()
- วัตถุใด ๆ ที่จะถูกใช้โดย LocalScript ใน ReplicatedFirst ควรได้รับการรุกปีให้กับ ReplicatedFirst ด้วย เช่นไม่ก็อาจจะเรียกตัวเองใหม่ในภายหลังเพื่อให้สคริปต์และปฏิเสธประโยชน์ของ ReplicatedFirst
ReplicatedFirst ยังรวมถึงคุณสมบัติ ReplicatedFirst:RemoveDefaultLoadingScreen() ซึ่งสามารถใช้เพื่อลบหน้าจอการโหลด Roblox ที่เป็นปกติได้ หากวัตถุใด ๆ ได้รับการวางใน ReplicatedFirst จะลบหน้าจอการโหลดที่เป็นปกติหล
ตัวอย่างโค้ด
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()
สรุป
วิธีการ
ลบหน้าจอการโหลด Roblox ที่เรียบง่ายทันที หากวัตถุใด ๆ ได้รับการวางใน ReplicatedFirst หน้าจอการโหลดจะลบออกหลังจาก 5 วินาทีโดยไม่เป็นไปตามว่าฟังก์ชันนี้ถูกเรียกหรือไม่
คุณสมบัติ
วิธีการ
RemoveDefaultLoadingScreen
ลบหน้าจอการโหลด Roblox ที่เรียบง่ายทันที หากวัตถุใด ๆ ได้รับการวางใน ReplicatedFirst หน้าจอการโหลดจะลบออกหลังจาก 5 วินาทีโดยไม่เป็นไปตามว่าฟังก์ชันนี้ถูกเรียกหรือไม่
ผู้พัฒนาควรจะดำเนินการฟังก์ชันนี้จาก LocalScript ใน ReplicatedFirst เนื่องจากสคริปต์ใน ReplicatedFirst จะดำเนินการก่อนอื่นใด
ควรหลีกเลี่ยงการลบหน้าจอการโหลดเริ่มต้นจนกว่าผู้พัฒนาจะต้องการแสดงหน้าจอการโหลดเริ่มต้นเป็นหนทางเลือก หากหน้าจอเริ่มต้นถูกลบโดยไม่มีผู้ใช้เปลี่ยนแปลงจะสามารถดูการโหลดเริ่มต้นในพื้นหลัง
ส่งค่ากลับ
ตัวอย่างโค้ด
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()