Services

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Dans Réutiliser le code, vous avez peut-être remarqué une utilisation fréquente de la méthode game:GetService().Les services Roblox vous permettent d'accéder aux fonctionnalités intégrées du moteur, comme la vente d'objets dans l'expérience, l'activation du chat, la lecture de sons, l'animation d'objets et la gestion d'instances.

En fait, les services sont la première étape dans le modèle le plus fondamental et commun du développement de Roblox :

  1. Obtenez des services.
  2. Exigez les scripts de module.
  3. Ajouter des fonctions locales.
  4. Ajoutez les événements qui déclenchent ces fonctions.

Par exemple, vous voudrez peut-être enregistrer les positions des joueurs dans le monde lorsqu'ils quittent votre expérience :


local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SaveManager = require(ReplicatedStorage:WaitForChild("SaveManager"))
-- Fonction locale qui appelle une fonction réutilisable dans le script du module.
local function saveProgress(character)
-- Obtenez la position du personnage du joueur.
local position = character:FindFirstChild("HumanoidRootPart").Position
-- Utilisez la fonction saveData dans le script du module, qui écrit dans le
-- Service de stockage de données.
SaveManager.saveData(character, position)
end
-- Une autre fonction locale qui appelle saveProgress() lorsqu'un personnage est supprimé
-- de l'expérience (dans ce cas, lorsque le joueur part).
local function onPlayerAdded(player)
player.CharacterRemoving:Connect(saveProgress)
end
-- Appelle onPlayerAdded lorsqu'un joueur se connecte pour la première fois à l'expérience.
Players.PlayerAdded:Connect(onPlayerAdded)

Certains détails clés incluent :

  • Comme vous ne devez récupérer un service qu'une fois par script, la convention est de donner à la variable le même nom que le service.Cette convention s'applique également aux scripts de module.
  • Vous récupérez des services avec la variable globale game, une référence à la racine du modèlisationde données.
  • Roblox ne fait pas de garanties autour de l'ordre de chargement (et le streaming d'instance rend encore plus compliqué ce qui est et n'est pas chargé à tout moment), donc l'utilisation de Instance:WaitForChild() est une mesure de sécurité importante.

Au lieu de comparer bibliothèques standard, fonctions et variables globales, ou bibliothèques tierces, une grande partie du développement de Roblox consiste à identifier lequel des nombreux, nombreux services peut vous aider à ajouter la fonctionnalité souhaitée à vos expériences.Dans l'exemple ci-dessus, au lieu d'utiliser une bibliothèque I/O standard pour écrire sur disque, vous utilisez les services du cloud pour stocker des données.

Services de conteneur

Les services de conteneur peuvent contenir et influencer d'autres objets.Ces services de conteneur résident à la racine du modèle de données et sont visibles dans la fenêtre Explorateur de Studio.Collectivement, ces services de conteneurs forment une hiérarchie structurée pour le modèlisationde données, de sorte que le moteur Roblox peut interpréter et rendre correctement votre emplacement.La table suivante inclut certains services de conteneurs communs.

Service | Description :--- | :--- Workspace | Contient tous les objets qui rendent dans le monde 3D, tels que les parties et le terrain.Lighting | Contient des objets pour définir des effets d'éclairage universels, tels que Atmosphere et Sky .ReplicatedStorage et ReplicatedFirst | Contiennent du contenu et de la logique qui se répliquent entre le serveur et le client.

Pour examiner plus en détail le modèlisationde données, vous pouvez utiliser ces méthodes :

  • game:FindService() recherches l'instance du service spécifié.
  • game:GetChildren() renvoie une liste de tous les enfants racines du modèlisationde données, qui sont les services de conteneurs de niveau supérieur.
  • game:GetDescendants() renvoie une liste de tous les descendants du modèlisationde données, y compris tous les services de conteneurs et leurs enfants.

Pour plus d'informations sur les services de conteneurs, voir la documentation du modèle de données data model.

Services de scriptage

Les services de scriptage fournissent une fonctionnalité standard dans le moteur Roblox que vous appelez dans les scripts.La table suivante inclut certains services de script communs.

Service | Description :--- | :--- TweenService | Utilisé pour interpoler les propriétés numériques d'autres instances d'un début à une fin de valeur, avec des options pour faciliter la direction et le style, la répétition et le retard. MarketplaceService | Le service responsable des transactions dans l'expérience, telles que l'invitation du joueur à acheter un produit développeur, un abonnement ou un passe de jeu, à mettre à niveau vers Roblox Premium, etc.ContextActionService | Vous permet de lier l'entrée de l'utilisateur, telle qu'une appuyerde clé, un touchersur l'écran ou une pression de bouton de contrôleur, à des actions contextuelles, telles que la modification des contrôles lorsque l'utilisateur entre et quitte une voiture.RunService | Contient des méthodes et des événements pour la gestion du temps en cadre par cadre, ainsi que pour vérifier le contexte (serveur, client, mode Studio) dans lequel l'expérience est exécutée.Utile pour exécuter n'importe quel processus ou mise à jour sur chaque cadre d'exécution.SoundService | Contrôle divers aspects globaux de la façon dont l'audio se joue dans une expérience, tels que l'échelle de Doppler et l'audio volumétrique.Peut également contenir des groupes sonores pour contrôler les propriétés de volume et d'effets dynamiques de plusieurs signaux audio à la fois.CollectionService | Gère des groupes ( collections ) d'instances avec des balises qui se répliquent du serveur au client, vous permettant de plus facilement attribuer et de travailler avec des groupes d'instances apparentées.

Services du cloud

Roblox a également des services de cloud spéciaux pour gérer les tâches et les processus qui se produisent dans le cloud Roblox.La table suivante inclut certains services du cloud communs.

Service | Description :--- | :--- DataStoreService | Pour stocker des données persistantes à travers les sessions.MemoryStoreService | Pour stocker des données fréquentes et éphémères qui changent rapidement.MessagingService| Pour communiquer entre plusieurs serveurs pendant les sessions en direct.

Les services du cloud ont également des API Web correspondantes ; ils sont accessibles à partir de scripts ou d'outils externes. Pour plus d'informations, voir Ouvrir le cloud.