サービス

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

In Reuse code, you might have noticed frequent use of the game:GetService() method. Roblox services let you access the built-in features of the engine, like selling in-game items, enabling chat, playing sounds, animating objects, and managing instances.

実際、サービスはRoblox開発の最も基本的で一般的なパターンの最初のステップです:

  1. サービスを取得する。
  2. モジュールスクリプトを要求する。
  3. ローカル関数を追加する。
  4. それらの関数をトリガーするイベントを追加する。

たとえば、プレイヤーがゲームを退出したときに、ワールド内のプレイヤーの位置を保存したい場合があります:


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
-- DataStoreServiceに書き込むためのモジュールスクリプトのsaveData関数を使用します。
SaveManager.saveData(character, position)
end
-- プレイヤーがゲームからキャラクターを削除したときにsaveProgress()を呼び出す別のローカル関数
-- (この場合、プレイヤーが離れたとき)。
local function onPlayerAdded(player)
player.CharacterRemoving:Connect(saveProgress)
end
-- プレイヤーが最初にゲームに接続したときにonPlayerAddedを呼び出します。
Players.PlayerAdded:Connect(onPlayerAdded)

いくつかの重要な詳細を含みます:

  • 1つのスクリプトでサービスを1回だけ取得するべきなので、変数にサービスと同じ名前を付けるのが慣例です。この慣例はモジュールスクリプトにも適用されます。
  • サービスは、データモデルのルートへの参照であるグローバル変数gameを使用して取得します。
  • Robloxはロード順序に関する保証を行っていません(およびインスタンスストリーミングは、特定の時点で何がロードされているかをさらに複雑にします)ので、Instance:WaitForChild()を使用することは重要な安全対策です。

標準ライブラリグローバル関数と変数、またはサードパーティのライブラリを比較するのではなく、Roblox開発の大部分は、多くのサービスの中から、ゲームに必要な機能を追加するのに役立つものを特定することです。上記の例では、ディスクに書き込むために標準のI/Oライブラリを使用するのではなく、データを保存するためにクラウドサービスを使用します。

コンテナサービス

コンテナサービスは、他のオブジェクトを含めたり、影響を与えたりできます。これらのコンテナサービスはデータモデルのルートに存在し、StudioのExplorerウィンドウで表示されます。これらのコンテナサービスは集めて、データモデルの構造的な階層を形成するので、Robloxエンジンはプレースを正しく解釈してレンダーできます。以下の表には、一般的なコンテナサービスが含まれています。

ServiceDescription
Workspace3Dワールドにレンダリングされるすべてのオブジェクト(パーツや地形など)を含みます。
LightingAtmosphereSkyなどのユニバーサル照明効果を設定するためのオブジェクトを含みます。
ReplicatedStorageReplicatedFirstサーバーとクライアント間でレプリケートされるコンテンツとロジックを含みます。

データモデルをさらに調べるために、これらのメソッドを使用できます:

  • game:FindService() 指定されたサービスのインスタンスを検索します。
  • game:GetChildren() データモデルのすべてのルート子供の配列を返します。これらは最上位のコンテナサービスです。
  • game:GetDescendants() データモデルのすべての子孫の配列を返し、すべてのコンテナサービスとその子供を含みます。

コンテナサービスに関する詳細については、データモデルドキュメントを参照してください。

スクリプティングサービス

スクリプティングサービスは、スクリプト内部で呼び出すRobloxエンジンの標準機能を提供します。以下の表には、一般的なスクリプティングサービスが含まれています。

ServiceDescription
TweenService他のインスタンスの数値プロパティを開始値から終了値まで内挿するために使用します。イージングの方向やスタイル、繰り返し、遅延のオプションがあります。
MarketplaceService開発者製品、サブスクリプション、パス、Robloxプレミアムなどのゲーム内取引を促すためのサービスです。
RunServiceフレームごとの時間管理、ゲームが実行されているコンテキスト(サーバー、クライアント、スタジオモード)を確認するためのメソッドとイベントを含みます。すべてのランタイムフレームでプロセスや更新を実行するのに便利です。
SoundServiceゲームでオーディオが再生される方法に関するさまざまなグローバルな側面を制御します。例としてドップラー スケールや音響効果があります。また、複数のオーディオ信号の音量とダイナミックエフェクトプロパティを同時に制御するためのサウンドグループを含むこともできます。
CollectionServiceサーバーからクライアントにレプリケートされるタグを持つインスタンスのグループ(コレクション)を管理し、関連するインスタンスのグループに対してより簡単に割り当てて作業できるようにします。

クラウドサービス

Robloxは、Robloxクラウドで発生するタスクやプロセスを処理するための特別なクラウドサービスも提供しています。以下の表には、一般的なクラウドサービスが含まれています。

ServiceDescription
DataStoreServiceセッション間で永続データを保存するためのものです。
MemoryStoreService頻繁に変化する揮発性データを保存するためのものです。
MessagingServiceライブセッション中に複数のサーバー間で通信するためのものです。

クラウドサービスには、対応するWeb APIもあり、外部スクリプトやツールからアクセス可能です。詳細については、Open Cloudを参照してください。

©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。