コンテナは、 フレーム、 ラベル 、 ボタン 、その他を含めて、プレイヤーの画面に表示することができます。すべての画面上の UI オブジェクトとコードは、クライアントで保存され、変更されます。

エクスペリエンスに参加するすべてのプレイヤーに ScreenGui とその子供 GuiObjects を表示するには、StarterGui コンテナ内に配置します。プレイヤーがエクスペリエンスに参加し、キャラクターが最初にスポーンすると、ScreenGui およびそのコンテンツが、そのプレイヤーの PlayerGui コンテナ内にクローンし、Players コンテナ内に位置します。

エクスペリエンスがスコープで拡大すると、タイトル画面、設定メニュー、ショップインターフェイスなどの複数の画面インターフェイスが必要になる可能性があります。このような場合、複数のユニークな ScreenGui コンテナを StarterGui 内に配置し、各コンテナの Enabled プロパティを切り替えることができます(false 、コンテンツはレンダリングされず、ユーザーの入力を処理したり、変更に応答して更新したりしません)。

The プロパティは最初に プロパティ ウィンドウを介して切り替えることができますが、またはクライアント側のスクリプトからプレイ時間中に アクセス して、プレイヤーの または または のための必要なコンテナを設定します。
コンテナプロパティ
次のプロパティでは、複数のデバイスで スクリーンインサート をカスタマイズしたり、複数のスクリーンコンテナを使用したときの 表示順序 を調整したりできます。
スクリーンインサート
現代の電話は、全画面を利用しますが、通常は画面スペースを占有するノッチ、カットアウト、その他の要素を含みます。すべての Roblox エクスペリエンスには、メインメニューへの迅速なアクセス、チャット、リーダーボード、その他も含まれています。

プレイヤーがすべてのUIを簡単に見つけてアクセスでき、障害なくアクセスできるようにするために、Roblox は プロパティを提供し、安全エリア のコンテンツの挿入を制御します。
デフォルトの は、トップバーのボタンやその他の画面カットアウトから安全なコアUIエリア内にすべての子孫を保持します。この設定は、ScreenGui に対話型 UI 要素が含まれている場合に推奨されます。

順序を表示
複数の ScreenGui インターフェイスを使用すると、その DisplayOrder プロパティを通じて Z‑index でレイヤー化できます。たとえば、エクスペリエンスのメインユーザーインターフェイスの前の 1 にモーダル設定メニューを表示するには、モーダルの基本インターフェイスよりも高い 14 を割り当てます。
スポーン時にリセット
ブールン属性は、プレイヤーのキャラクターが再スポーンするたびに リセット (自分を削除し、プレイヤーのキャラクターに再クローンする)するかどうかを決定します。
条件 | リセット |
---|---|
ResetOnSpawn は true (デフォルト)です。 | yes |
The ScreenGui は、 間接 の下にある StarterGui の子孫です;たとえば、Folder 内の StarterGui 内に配置されています。 | yes |
は そして は 直接の 下位です。 | no |
プレイヤーUIにアクセス
注意してください、親の ScreenGui を StarterGui にクローンし、その子の GuiObjects をプレイヤーの PlayerGui コンテナに生成すると、体験に参加し、キャラクターが最初にスポーンするときです。
プレイ時間中にプレイヤーの UI コンテナを制御する必要があり、たとえば特定の ScreenGui またはその子供を表示/隠すなど、次のように LocalScript からアクセスします:
ローカルスクリプト - プレイヤーへのアクセス's UI
local Players = game:GetService("Players")local player = Players.LocalPlayerlocal playerGui = player.PlayerGuilocal titleScreen = playerGui:WaitForChild("TitleScreen")local settingsMenu = playerGui:WaitForChild("SettingsMenu")titleScreen.Enabled = false -- タイトル画面を非表示にするsettingsMenu.Enabled = true -- Show settings menu
デフォルトの UI を無効にする
すべての Roblox 経験には、デフォルトで有効になっている複数の UI 要素が含まれています。これらの要素のいずれも必要ない場合や、自分の作品で置き換えたい場合は、関連する SetCoreGuiEnabled() オプションを持つクライアント側スクリプトで Enum.CoreGuiType メソッドを使用できます。
デフォルトの UI | 関連する enum |
---|---|
動的に更新された Players リスト、一般的に リーダーボード として使用されます。 | Enum.CoreGuiType.PlayerList |
キャラクターの Health バー。キャラクターの Humanoid がフルHPである場合、表示されません。 | Enum.CoreGuiType.Health |
キャラクターの Backpack に含まれる 体験ツール 。バックパックに Tools がない場合は表示されません。 | Enum.CoreGuiType.Backpack |
テキストチャット ウィンドウ。 | Enum.CoreGuiType.Chat |
キャラクターの エモート ポップアップメニュー。 | Enum.CoreGuiType.EmotesMenu |
プレイヤーの視点や自分のキャラクターの表示を行うウィンドウ。プレイヤーが Roblox メニューから 自分のビュー を有効にしていない限り、表示されません。 | Enum.CoreGuiType.SelfView |
画面の右側にある キャプチャスクリーンショットボタン 。プレイヤーが Roblox メニューから キャプチャ を有効にしていない限り、表示されません。 | Enum.CoreGuiType.Captures |

クライアントスクリプト - デフォルトの UI 要素を無効にする
local StarterGui = game:GetService("StarterGui")-- デフォルトのヘルスバーとバックパックを無効にするStarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, false)StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)
さらに、タッチ機能を備えたデバイスには、デフォルトでバーチャルサムスティックとジャンプボタンが含まれています。必要に応じて、クライアント側のスクリプトで GuiService.TouchControlsEnabled を false に設定して、これらの要素を非表示にすることができます。

クライアントスクリプト - タッチ操作を無効にする
local GuiService = game:GetService("GuiService")GuiService.TouchControlsEnabled = false