RobloxのUIコンポーネント基本ガイド【ScreenGui・Frame・TextLabel・TextButton】
UIを作るとき、何をどこに置けばいい?
Robloxでゲームを作り始めたとき、こんな疑問を持つ方は多いはずです。
「スコアを画面に表示したい」「ボタンを置きたい」——そう思っても、何のオブジェクトを使えばいいのか、どこに配置すればいいのかがわからない。
Robloxには「UIコンポーネント」と呼ばれるオブジェクト群があり、画面上に表示するUI要素はすべてここから作ります。この記事では、特によく使う4つのコンポーネント——ScreenGui・Frame・TextLabel・TextButton——の役割と使い方を整理して解説します。
UIの土台:ScreenGui
すべてのUI要素は、ScreenGuiの中に配置します。ScreenGuiは「画面に張り付く透明なキャンバス」のようなものです。
配置場所はStarterGuiの直下です。ゲームが始まると、StarterGui内のScreenGuiが自動的に各プレイヤーの画面に表示されます。
StarterGui
└── ScreenGui ← ここがUIの土台
└── (UI要素をここに追加していく)
ScreenGuiを作らずにTextLabelなどを直接StarterGuiに置こうとしても正しく表示されません。UIを作るときはまずScreenGuiを用意する、これが最初のルールです。
レイアウトの枠組み:Frame
Frameは、UI要素をグループ化するための透明な枠です。それ自体は何も表示しませんが、「この範囲がメニュー」「この範囲がスコア表示」といった区画を作るために使います。
たとえばスコア表示エリアを作るなら、Frameを1つ置いてその中にTextLabelを入れる、という構成が一般的です。
ScreenGui
└── Frame ← スコア表示エリア
└── TextLabel ← 「スコア:100」などの文字
Frameには背景色・透明度・角丸(UICorner)なども設定でき、パネルやウィンドウのデザインにも使えます。最初は「まとめたいUI要素の親」として使う、と覚えておくと便利です。
文字を表示する:TextLabel
TextLabelは、画面にテキストを表示するためのオブジェクトです。スコア・説明文・プレイヤー名など、読み取り専用の文字表示に使います。
プロパティとしてよく設定するのは以下の3つです。
| プロパティ | 説明 |
|---|---|
Text |
表示するテキスト内容 |
TextSize |
フォントサイズ |
BackgroundTransparency |
背景の透明度(1にすると透明) |
スクリプトからTextLabel.Text = "スコア:" .. scoreのように動的に書き換えることもできるため、ゲーム中の情報表示に欠かせないコンポーネントです。
ボタンを作る:TextButton
TextButtonは、クリック(タップ)できるボタンです。見た目はTextLabelに似ていますが、MouseButton1Clickなどのイベントを使ってプレイヤーの操作を受け取れる点が異なります。
基本的な使い方はLocalScriptと組み合わせます。
local button = script.Parent
button.MouseButton1Click:Connect(function()
print("ボタンが押されました")
end)
メニューを開く・アイテムを購入する・ゲームをリスタートするなど、プレイヤーが操作するあらゆる場面で使います。TextLabelと見た目が似ているため、「表示だけならTextLabel・押せるならTextButton」と使い分けてください。
おわりに
Robloxのゲームを作り始めたとき、UIをどこに置けばいいのか、何を使えばいいのかが全くわかりませんでした。ScreenGuiの存在を知るまで、パーツの上にテキストを置こうとしていたくらいです。基本を知っているだけで、できることが一気に広がります。
UIの構成が理解できたら、次は「端末によって見た目が変わる問題」に取り組むのがおすすめです。スマホ・タブレット・PCそれぞれで綺麗に見えるUIの作り方はRobloxのUIをスマホ・全端末対応にする方法で詳しく解説しています。スケール値の計算にはRoblox UI Scale Calculatorも併せて活用してください。
まとめ
- ScreenGui:すべてのUIの土台。
StarterGuiの直下に置く - Frame:UI要素をグループ化する枠。パネルやエリアの区画分けに使う
- TextLabel:テキストを表示する。スコアや説明文など読み取り専用の表示に
- TextButton:クリック・タップで操作できるボタン。イベントと組み合わせて使う
- まず
ScreenGui → Frame → TextLabel / TextButtonの構成を覚えると、UIの全体像が見えてくる