ReplicatedFirst
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
他の何よりも先に、すべてのクライアントにコピーされた内容を持つコンテナ。
ReplicatedFirst は何のためにありますか?
ReplicatedFirst は、ゲームの開始に必要な LocalScripts や他のオブジェクトを保存するのに最も一般的に使用されます。ReplicatedFirst のコンテンツは、ゲームの他の部分でクライアントにレプリケートされるため、Loading GUIs やチュートリアルを作成するのに最適です。
最初に複製する必要がないオブジェクトの場合、開発者は ReplicatedStorage コンテナを使用する必要がありません。
ReplicatedFirst を使用するにはどうすればよいですか?
LocalScripts を ReplicatedFirst の中に配置すると、最初に実行されます。これは、カスタムロード画面などの ReplicatedFirst のコードが最も早く実行されることを意味します。
ReplicatedFirst で LocalScripts を実行するときに開発者が考慮する必要があるいくつかのキーの考慮があります。
- ゲーム内の他のコンテンツが実行される前に、LocalScripts 内のコンテンツが複製されます。これは、Instance:WaitForChild() 内で実行される必要があるため、Class.LocalScript|LocalScripts 内で実行される必要があります。
- ReplicatedFirst に LocalScript を使用する予定のオブジェクトは、Class.LocalScript の親になる必要があります。そうしないと、スクリプトがクライアントに遅れてレプリケートされ、Class.LocalScript の利点が損なわれる可能性があります。
ReplicatedFirst には、ReplicatedFirst:RemoveDefaultLoadingScreen() という機能も含まれています。これは、デフォルトの Roblox ロード画面を即座に削除することができます。たとえオブジェクトが ReplicatedFirst に配置されていても、デフォルトのロード画面は 5秒後に削除されます。この機能が呼び出されていない場合でも、Roblox ロード画面は 5秒後
コードサンプル
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 秒後に無視されます。この機能を呼び出しているかどうかにかかわらず。
開発者は、<a href="https://developer.microsoft.com/en-us/microsoft-edge/microsoft-edge-first-run/">Class.ReplicatedFirst\ の 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()