In Reusing Code , haben Sie vielleicht bemerkt, dass die game:GetService() Methode häufig verwendet wird. Roblox-Dienste ermöglichen Ihnen den Zugriff auf die integrierten Funktionen des Engines, wie den Verkauf von In-Experience-Artikeln, das Aktivieren von Chat, dem Spielen von Sounds, das Animieren von Objekten und das Verwalten von Instanzen.
Tatsächlich sind Dienste der erste Schritt in dem grundlegendsten, gemeinsamen Muster der Roblox-Entwicklung :
- Erhalte Dienste.
- Benötigen Sie Modul-Skripte.
- Lokale Funktionen hinzufügen.
- Fügen Sie die Events, die diese Funktionen auslösen.
Zum Beispiel möchten Sie vielleicht die Positionen der Spieler in der Welt speichern, wenn sie Ihr Erlebnis verlassen:
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SaveManager = require(ReplicatedStorage:WaitForChild("SaveManager"))
-- Lokale Funktion, die eine wiederverwendbare Funktion im Skript, das. PL: die Skriptsaufruft.
local function saveProgress(character)
-- Besorgen Sie sich die Position des Charakters des Spieler:in.
local position = character:FindFirstChild("HumanoidRootPart").Position
-- Verwenden Sie die saveData-Funktion in dem Skript, das. PL: die Skripts, die auf die
-- Datenspeicher-Service.
SaveManager.saveData(character, position)
end
-- Eine andere lokale Funktion, die saveProgress() aufruft, wenn ein Charakter entfernt wird
-- aus der erfahrung (in diesem fall, wenn der spieler geht).
local function onPlayerAdded(player)
player.CharacterRemoving:Connect(saveProgress)
end
-- Ruft onPlayerAdded auf, wenn ein Spieler das erste Mal auf das Erlebnis zugänglich macht.
Players.PlayerAdded:Connect(onPlayerAdded)
Einige Schlüssel Details beinhalten:
- Da Sie nur einmal pro Skript, das. PL: die Skriptseinen Dienst abrufen sollten, ist die Konvention, der Variable den gleichen Namen wie der Dienst zu geben. Dies gilt auch für Modul-Skripte.
- Du ruft Dienste mit der globalen Variable game ab, eine Verweisung auf die Wurzel des Modell.
- Roblox gibt keine Garantien für die Ladeordnung (und Instanz- Streaming weiter kompliziert, was zu jedem Zeitpunkt geladen wird), so dass die Verwendung von Instance:WaitForChild() ist eine wichtige Sicherheitsmaßnahme.
Statt standardmäßige Bibliotheken zu vergleichen globalen Funktionen und Variablen oder Drittbibliotheken, einen großen Teil der Roblox-Entwicklung ist es, zu identifizieren, welche der vielen, vielen Dienste Ihnen helfen können, die gewünschte Funktionalität Ihren Erlebnissen hinzuzufügen. Im obigen Beispiel verwenden Sie nicht standardmäßige I/O-Bibliotheken, um auf den Speicher zu schreiben, sondern Cloud-D
Dienste
Container-Services können andere Objekte enthalten und beeinflussen. Diese Container-Services befinden sich in der Wurzel des Datenmodells und sind im Studio-Explorer-Fenster sichtbar. Zusammen bilden diese Container-Services eine strukturierte Hierarchie für das Modell, sodass die Roblox-Engine Ortrichtig interpretieren und rendern kann. Die folgende Tabelle enthält einige häufige Container-Services.
Service | Beschreibung :--- | :--- Workspace | Contains alle Objekte, die in der 3D-Welt gerendert werden, wie Teile und Gelände. Lighting | Contains Objekte für die Festlegung universeller Bele
Um das Modellweiter zu untersuchen, können Sie diese Methoden verwenden:
- game:FindService() sucht nach der Instanz des angegebenen Dienstes.
- game:GetChildren() gibt eine Matrix aller Wurzelkinder des Modellzurück, die die obersten Ebene-Container-Services sind.
- game:GetDescendants() gibt eine Matrix aller Nachkommen des Modellzurück, einschließlich aller Container-Services und deren Kinder.
For more information on container services, see the Datenmodell dokumentation.
Skript-Dienste
Scripting-Dienste bieten standardmäßige Funktionen in der Roblox-Engine, die Sie in Skripten aufrufen. Die folgende Tabelle enthält einige häufige Skripting-Dienste.
Service | Beschreibung :--- | :--- Class.T
Cloud-Dienste
Roblox hat auch spezielle Cloud-Services für die Verarbeitung von Aufgaben und Prozessen, die in der Roblox-Cloud vorkommen. Die folgende Tabelle enthält einige häufige Cloud-Services.
Service | Beschreibung :--- | :--- DataStoreService | Für das Speichern von dauerhaften Daten über Sitzungen. MemoryStoreService | Für das Speichern von häufigen und ephemeralen Daten, die sich schnell ändern. MessagingService | Kommunizieren zwischen mehreren Servern während Live-Sitzungen.
Cloud-Dienste haben auch entsprechende Web-APIs; sie werden von externen Skripten oder Tools aus zugänglich gemacht. Weitere Informationen finden Sie unter Open Cloud.