ReplicatedFirst
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Un conteneur dont le contenu est répliqué à tous les clients (mais pas au serveur) en premier avant toute autre chose.
Qu'est-ce que ReplicatedFirst est-il pour?
ReplicatedFirst est le plus souvent utilisé pour stocker LocalScripts et d'autres objets qui sont essentiels pour le commencerdu jeu. Comme le contenu de ReplicatedFirst se réplique sur le client avant n'importe quoi d'autre dans le jeu, il est idéal pour créer des interfaces d'utilisateur de chargement ou de tutoriels.
Pour les objets qui ne nécessitent pas de répliquage préalable, les développeurs devraient utiliser le ReplicatedStorage conteneur à la place.
Comment puis-je utiliser ReplicatedFirst ?
LocalScripts placé dans ReplicatedFirst s'lancer. Cela signifie que le code pour les écrans de chargement personnalisés ou d'autres écrans de chargement ReplicatedFirst peut être exécuté au plus tôt possible.
Il y a une série de considérations clés que les développeurs doivent garder à l'esprit lors de l'exécution de LocalScripts dans ReplicatedFirst.
- Son contenu se réplique avant n'importe quoi d'autre dans le jeu, ce qui signifie que LocalScripts courant dans ReplicatedFirst devra attendre n'importe quelle chose qu'ils nécessitent pour se répliquer en utilisant Instance:WaitForChild()
- Tous les objets qui sont à utiliser par un LocalScript dans ReplicatedFirst devraient également être parentés à ReplicatedFirst. Sinon, ils peuvent se répliquer au client tard, ce qui génère le script et annule l'avantage de ReplicatedFirst.
ReplicatedFirst inclut également la fonction ReplicatedFirst:RemoveDefaultLoadingScreen(), qui peut être utilisée pour supprimer immédiatement l'écran de chargement Roblox par défaut. Remarquez que si un objet a été placé dans ReplicatedFirst, l'écran de chargement par défaut sera supprimé après 5 secondes, indépendamment de si cette fonction a été appelée ou non.
Échantillons de code
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()
Résumé
Méthodes
Supprime immédiatement l'écran de chargement par défaut de Roblox. Remarquez que si un objet a été placé dans ReplicatedFirst, l'écran de chargement par défaut sera supprimé après 5 secondes, indépendamment du fait que cette fonction ait été appelée ou non.
Propriétés
Méthodes
RemoveDefaultLoadingScreen
Supprime immédiatement l'écran de chargement par défaut de Roblox. Remarquez que si un objet a été placé dans ReplicatedFirst, l'écran de chargement par défaut sera supprimé après 5 secondes, indépendamment du fait que cette fonction ait été appelée ou non.
Les développeurs doivent exécuter cette fonction à partir d'un LocalScript dans ReplicatedFirst, car les scripts dans ReplicatedFirst s'exécuteront avant n'importe quoi d'autre.
Il est recommandé de ne pas supprimer l'écran de chargement par défaut à moins que le développeur ne souhaite afficher son propre écran de chargement comme alternative. Si l'écran par défaut est supprimé sans remplaçant les utilisateurs, ils pourront voir le chargement de géométrie dans le fond.
Retours
Échantillons de code
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()