ReplicatedFirst
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Pojemnik, którego zawartość jest replikowana do wszystkich klientów (ale nie z powrotem do serwera) najpierw przed czymkolwiek innym.
Do czego służy ReplicatedFirst?
ReplicatedFirst jest najczęściej używany do przechowywania LocalScripts i innych obiektów, które są niezbędne do rozpoczynaćgra.Ponieważ zawartość ReplicatedFirst replikuje się do klienta przed czymkolwiek innym w gra, jest idealna do tworzenia interfejsów ładowania lub samouczków.
Dla obiektów, które nie muszą być najpierw replikowane, programiści powinni używać zamiast tego kontenera ReplicatedStorage.
Jak mogę używać ReplicatedFirst?
LocalScripts umieszczone w ReplicatedFirst zostanie uruchomione.Oznacza to, że kod dla niestandardowych ekranów ładowania lub innych użyć ReplicatedFirst może zostać uruchomiony w najwcześniejszym możliwym momencie.
Istnieje wiele kluczowych kwestii, o których programiści muszą pamiętać podczas uruchamiania LocalScripts w ReplicatedFirst.
- Jego zawartość powiela się przed czymkolwiek innym w gra, co oznacza, że LocalScripts uruchamianie w ReplicatedFirst będzie musiało poczekać na wszelkie obiekty, które muszą się powielić za pomocą Instance:WaitForChild()
- Wszystkie obiekty, które mają być używane przez LocalScript w ReplicatedFirst, powinny również być przypisane do ReplicatedFirst.W przeciwnym razie mogą się zsynchronizować z klientem na późno, oddając skrypt i zaprzeczając korzyściom ReplicatedFirst.
ReplicatedFirst zawiera również funkcję ReplicatedFirst:RemoveDefaultLoadingScreen(), którą można użyć do natychmiastowego usunięcia domyślnego ekranu ładowania Roblox.Zauważ, czy któryś obiekt został umieszczony w ReplicatedFirst, domyślny ekran ładowania zostanie usunięty po 5 sekundach, niezależnie od tego, czy ta funkcja została wezwana, czy nie.
Przykłady kodu
Ten przykład pokazuje niestandardowy ekran ładowania z podstawowym TextLabel.Kod powinien być umieszczony w LocalScript w ciągu ReplicatedFirst .Aby rozwinąć ten przykład z animacjami ekranu ładowania, zobacz artykuł Custom Loading Screens.
local Players = game:GetService("Players")
local ReplicatedFirst = game:GetService("ReplicatedFirst")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
-- Stwórz podstawowy ekran ładowania
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
-- Rodzic cały ekran GUI do GUI gracza
screenGui.Parent = playerGui
-- Usuń domyślną stronę ładowania
ReplicatedFirst:RemoveDefaultLoadingScreen()
--wait(3) -- Opcjonalnie wymuszaj pojawienie się ekranu przez minimalną liczbę sekund
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui:Destroy()
Podsumowanie
Metody
Natychmiast usuwa domyślną stronę ładowania Roblox.Zobacz, czy któryś obiekt został umieszczony w ReplicatedFirst, domyślny ekran ładowania zostanie usunięty po 5 sekundach, niezależnie od tego, czy ta funkcja została wezwana, czy nie.
Właściwości
Metody
RemoveDefaultLoadingScreen
Natychmiast usuwa domyślną stronę ładowania Roblox.Zobacz, czy któryś obiekt został umieszczony w ReplicatedFirst, domyślny ekran ładowania zostanie usunięty po 5 sekundach, niezależnie od tego, czy ta funkcja została wezwana, czy nie.
Programiści powinni uruchomić tę funkcję z LocalScript w ReplicatedFirst, ponieważ skrypty w ReplicatedFirst będą wykonywane przed czymkolwiek innym.
Zaleca się, aby nie usuwać domyślnego ekranu ładowania, chyba że programista chce wyświetlić własny ekran ładowania jako alternatywę.Jeśli domyślny ekran zostanie usunięty bez zastąpienia użytkownicy będą mogli zobaczyć ładowanie geometrii w tle.
Zwroty
Przykłady kodu
Ten przykład pokazuje niestandardowy ekran ładowania z podstawowym TextLabel.Kod powinien być umieszczony w LocalScript w ciągu ReplicatedFirst .Aby rozwinąć ten przykład z animacjami ekranu ładowania, zobacz artykuł Custom Loading Screens.
local Players = game:GetService("Players")
local ReplicatedFirst = game:GetService("ReplicatedFirst")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
-- Stwórz podstawowy ekran ładowania
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
-- Rodzic cały ekran GUI do GUI gracza
screenGui.Parent = playerGui
-- Usuń domyślną stronę ładowania
ReplicatedFirst:RemoveDefaultLoadingScreen()
--wait(3) -- Opcjonalnie wymuszaj pojawienie się ekranu przez minimalną liczbę sekund
if not game:IsLoaded() then
game.Loaded:Wait()
end
screenGui:Destroy()