画面上の UI コンテナ

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

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

Example ScreenGui with various GuiObject children, including a Frame, TextLabel, TextBox, and ImageButton.

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

Diagram of how a ScreenGui clones from StarterGui to a player's PlayerGui

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

Explorer hierarchy showing multiple ScreenGui containers, one enabled and the others disabled, in order to control which are visible at a given time.

The プロパティは最初に プロパティ ウィンドウを介して切り替えることができますが、またはクライアント側のスクリプトからプレイ時間中に アクセス して、プレイヤーの または または のための必要なコンテナを設定します。

コンテナプロパティ

次のプロパティでは、複数のデバイスで スクリーンインサート をカスタマイズしたり、複数のスクリーンコンテナを使用したときの 表示順序 を調整したりできます。

スクリーンインサート

現代の電話は、全画面を利用しますが、通常は画面スペースを占有するノッチ、カットアウト、その他の要素を含みます。すべての Roblox エクスペリエンスには、メインメニューへの迅速なアクセス、チャット、リーダーボード、その他も含まれています。

Mobile device showing Roblox top bar buttons and device cutout.

プレイヤーがすべてのUIを簡単に見つけてアクセスでき、障害なくアクセスできるようにするために、Roblox は プロパティを提供し、安全エリア のコンテンツの挿入を制御します。

デフォルトの は、トップバーのボタンやその他の画面カットアウトから安全なコアUIエリア内にすべての子孫を保持します。この設定は、ScreenGui に対話型 UI 要素が含まれている場合に推奨されます。

Mobile device showing the core UI safe area.

順序を表示

複数の ScreenGui インターフェイスを使用すると、その DisplayOrder プロパティを通じて Z‑index でレイヤー化できます。たとえば、エクスペリエンスのメインユーザーインターフェイスの前の 1 にモーダル設定メニューを表示するには、モーダルの基本インターフェイスよりも高い 14 を割り当てます。

スポーン時にリセット

ブールン属性は、プレイヤーのキャラクターが再スポーンするたびに リセット (自分を削除し、プレイヤーのキャラクターに再クローンする)するかどうかを決定します。

条件リセット
ResetOnSpawntrue (デフォルト)です。
yes
The ScreenGui は、 間接 の下にある StarterGui の子孫です;たとえば、Folder 内の StarterGui 内に配置されています。
yes
は そして は 直接の 下位です。
no

プレイヤーUIにアクセス

注意してください、親の ScreenGuiStarterGui にクローンし、その子の GuiObjects をプレイヤーの PlayerGui コンテナに生成すると、体験に参加し、キャラクターが最初にスポーンするときです。

プレイ時間中にプレイヤーの UI コンテナを制御する必要があり、たとえば特定の ScreenGui またはその子供を表示/隠すなど、次のように LocalScript からアクセスします:

ローカルスクリプト - プレイヤーへのアクセス's UI

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local playerGui = player.PlayerGui
local 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
Core UI elements in every Roblox experience.
クライアントスクリプト - デフォルトの UI 要素を無効にする

local StarterGui = game:GetService("StarterGui")
-- デフォルトのヘルスバーとバックパックを無効にする
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Health, false)
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)

さらに、タッチ機能を備えたデバイスには、デフォルトでバーチャルサムスティックとジャンプボタンが含まれています。必要に応じて、クライアント側のスクリプトで GuiService.TouchControlsEnabledfalse に設定して、これらの要素を非表示にすることができます。

UI elements for touch-capable devices in every Roblox experience
クライアントスクリプト - タッチ操作を無効にする

local GuiService = game:GetService("GuiService")
GuiService.TouchControlsEnabled = false