In コードの再使用 中、game:GetService() メソッドを頻繁に使用することに気づいたかもしれません。Roblox サービスは、エンジンの内バーチャル空間内アイテム能にアクセスできるようになります。たとえば、エクスペリエンス中のアイテムを販売、チャットを有効にしたり、サウンドをアニメーション
実際、サービスは Roblox 開発の最も基本的で一般的なパターン の最初のステップです:
- サービスを取得する。
- モジュールスクリプトが必要です。
- ローカル関数を追加します。
- それらの関数をトリガーする イベント を追加します。
たとえば、プレイヤーがエクスペリエンスから退出するときに、世界の位置を保存しておく必要があります:
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SaveManager = require(ReplicatedStorage:WaitForChild("SaveManager"))
-- モジュールスクリプトで再利用可能な関数を呼び出すローカル関数。
local function saveProgress(character)
-- プレイヤーのキャラクターの位置を取得します。
local position = character:FindFirstChild("HumanoidRootPart").Position
-- モジュールスクリプトの saveData 関数を使用して、
-- データストアサービス。
SaveManager.saveData(character, position)
end
-- キャラクターが削除されるときに saveProgress() を呼び出す別のローカル関数
-- エクスペリエンス (この場合、プレイヤーが去るとき) から。
local function onPlayerAdded(player)
player.CharacterRemoving:Connect(saveProgress)
end
-- プレイヤーがエクスペリエンスに最初に接続するときに、PlayerAdded を呼び出します。
Players.PlayerAdded:Connect(onPlayerAdded)
いくつかのキーの詳細には、次が含まれます:
- スクリプトごとにサービスを 1 回だけ取得する必要があるため、規則は、変数にサービスの同じ名前を与えることです。このルールはモジュールスクリプトにも適用されます。
- グローバル変数 game でサービスを取得し、データモデルのルートに参照します。
- Roblox は、ロードオーダー の周りに保証を与えません (そして Instance:WaitForChild() は、いつでも読み込まれるものではありません) ので、Class.Instance:WaitForChild() の使用は重要な安全対策です。
標準のライブラリ を比較するのではなく、グローバルな機能と変数を比較するか、サードパーティライブラリを使用するか、Roblox の開発は、多くの、多くのサービスがあなたのエクスペリエンスに必要な機能を追加する方法を特定することで始まります。上の例では、標準の I/O
コンテナサービス
コンテナサービスは、他のオブジェクトを含み、影響を与えることができます。これらのコンテナサービスは、データモデルのルートにあり、Studio の Explorer ウィンドウに表示されます。コレクティブに、これらのコンテナサービスは、データモデルの構造的な階層を形成するため、Roblox エンジンはあなたの場所を適切にインタープリ
サービス | 説明 :--- | :--- Workspace | すべてのオブジェクトを含む、3D 世界でレンダリングされるオブジェクト、例えばパーツや地形。
データモデルをさらに調べるには、次のメソッドを使用できます:
- game:FindService() 指定されたサービスのインスタンスを検索します。
- game:GetChildren() は、データモデルのトップレベルのコンテナサービスのすべてのルート子供を返します。
- game:GetDescendants() は、すべてのコンテナサービスとその子供たちを含むデータモデルのすべての子孫を返します。
コンテナサービスに関する詳細は、「データモデル」ドキュメントを参照してください。
スクリプトサービス
スクリプトサービスは、Roblox エンジン内のスクリプトを呼び出す標準的な機能を提供します。次の表には、一般的なスクリプトサービスが含まれています。
サービス | 説明 :--- | :---
クラウドサービス
Roblox はまた、Roblox クラウドで発生するタスクとプロセスを処理するための特別なクラウドサービスを提供しています。次の表には、一般的なクラウドサービスが含まれています。
サービス | 説明 :--- | :--- DataStoreService | セッション間の持続データを保存する。 MemoryStoreService | ライブセッション間で複数のサーバー間通信。 MessagingService | コミュニケーション間でコミュニケーション間で 1> Class.DataStoreService1>
クラウドサービスには、ウェブアクセス可能なウェブ API もあります。外部のスクリプトやツールからアクセスできます。詳細は、「クラウドサービスを開く」を参照してください。