1. 異なる反応を持つ動的GUIの作成方法
プレイヤーのアクションに合わせて動的に反応するGUIを作成します。この記事では、3つのボタンを配置し、各ボタンをクリックすると異なる結果が表示される方法を紹介します。
2. 使用する機能
・ScreenGui
・TextLabel
・TextButton
・LocalScript
3. 手順
まず、Roblox Studioを起動します。今回は、テンプレート「Baseplate」を使用します。
UIを作っていきます。
HOMEタブのUIをクリックします。
ScreenGUIをクリックします。
TextLabelをクリックして、
適当な位置に移動させます。
TextButtonを3つ追加し、以下画像のように3つのボタンが重ならないように配置します。
3つのTextButttonのNameをLeft・Center・Rightとし、プロパティのTextも同様にします。
1つのTextButttonの子要素にLocalScriptを追加して、以下のコードを記入します。
local button = script.Parent
local gui = button.Parent
local label = gui:FindFirstChild("TextLabel")
button.MouseButton1Click:Connect(function()
if label then
label.Text = button.Name
end
end)
上記のコードは、
1. スクリプトの親要素(ボタン)とその親のGUI、さらにその中の”TextLabel”を取得
2. ボタンがクリックされたときのイベントを定義し、その中で以下の処理を実行
3. “TextLabel”が存在する場合、そのテキストをボタンの名前に変更
このコードは、ボタンがクリックされたときに、同じGUI内の”TextLabel”のテキストをボタンの名前に変更する機能を持っています。
作成したLocalScriptと同じものを他のTextButtton(Left・Right)の子要素にも追加します。
この状態でゲームをプレイしてみます。以下画像のように、クリックしたTextButtonのTextがTextLabelに反映されていれば正しく動作しています。
3つのTextButton(Left, Center, Right)を配置し、それぞれをクリックすると、そのボタンの名前が同じGUI内の”TextLabel”に表示される機能を実装しました。
以上を通して、プレイヤーのアクションに応じたGUIの動的な変更を学びました。これにより、さらに高度なGUI操作の基礎としても利用可能です。
コメント