Services

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

Dans Reutiliser le code, vous avez peut-être remarqué l'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, telles que la vente d'objets dans l'expérience, l'activation de la discussion, la lecture de sons, l'animation d'objets et la gestion des instances.

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

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

Par exemple, vous voudrez peut-être sauvegarder 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 de module.
local function saveProgress(character)
-- Obtenez la position du personnage du joueur.
local position = character:FindFirstChild("HumanoidRootPart").Position
-- Utilisez la fonction de sauvegarde dans le script de module, qui écrit dans le
-- DataStoreService.
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 quitte).
local function onPlayerAdded(player)
player.CharacterRemoving:Connect(saveProgress)
end
-- Appelle onPlayerAdded lorsqu'un joueur se connecte d'abord à l'expérience.
Players.PlayerAdded:Connect(onPlayerAdded)

Certains détails clés incluent :

  • Puisque vous ne devriez récupérer qu'un service 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 du chargement de l'ordre (et du streaming d'instance complique davantage 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 les bibliothèques tiers, une grande partie du développement de Roblox est d'identifier lequel des nombreux, nombreux services peut vous aider à ajouter les fonctionnalités souhaitées à vos expériences. Dans l'exemple ci-dessus, au lieu d'utiliser une bibliothèque I/O standard pour écrire sur le disque, vous utilisez les services du cloud pour stocker les

Services de conteneurs

Les services de conteneurs peuvent contenir et influencer d'autres objets. Ces services de conteneurs résident au sommet 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 structurelle pour le modèlisationde données, afin que le moteur Roblox puisse interpréter et rendre correctement votre emplacement. Le tableau suivant inclut quelques services de conteneurs communs.

Service | Description :--- | :--- Workspace | Contient tous les objets qui rendent dans le monde 3D, tels que les pièces et le terrain. Lighting | Contient des objets pour définir des effets d'éclair

Pour examiner le modèlisationde données, vous pouvez utiliser les méthodes suivantes :

  • game:FindService() recherche l'instance du service spécifié.
  • game:GetChildren() renvoie un tableau de tous les enfants de racine du modèlisationde données, qui sont les services de conteneurs de niveau supérieur.
  • game:GetDescendants() renvoie un tableau 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 modèle de données.

Services de script

Les services de script fournissent des fonctions standard dans le moteur Roblox que vous appelez dans les scripts. Le tableau suivant inclut certains services de script communs.

Service | Description :--- | :--- TweenService | Utilisé pour interpoler les propriétés numériques des autres instances à partir d'un valeur de démarrage à la fin, avec des options pour faciliter la direction et le style, répéter et décalquer. MarketplaceService | Le service responsable des transactions dans l'expérience, telles que l'achat d'un produit du développeur, l'abonnement à

Services de 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. Le tableau suivant inclut certains services de cloud communs.

Service | Description :--- | :--- DataStoreService | Pour stocker les données persistantes à travers les sessions. MemoryStoreService | Pour stocker les 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 .