見出し画像

【UE5.4】ゲームパッドでUIを操作する


”フォーカスすると色が変わるボタンヴィジェット” を作成し、それらのUIをゲームパッドで操作できるようにする




■ボタンヴィジェット作成


ヴィジェットBPを作成


ボーダー、ボタン、テキストを画像の順で配置する


”色が変わる”アニメーションを作成する


フォーカス時などの処理を組む。

Event On Added to Focus PathEvent On Removed Focus Path は、マイブループリントの”オーバーライド”から追加できる(右クリックから検索できない)

On Clicked(Button) は、ボタンヴィジェットを【Is Variable✅】することで、
【詳細パネル】→【イベント】から追加できる。

"Click Event"イベントディスパッチャーは、マイブループリントから新しく作成する。
(今回これは使わないけど、子側でイベントディスパッチャーを呼び出しておくことで、
親WBP側でそのイベントを呼び出せるようになります)


Text型変数を作成し、
インスタンス編集可能 ✅ (詳細パネルから値をいじれる)


テキスト→バインディングを作成
関数が自動で作られるので、Return ValueにText型変数を繋ぐ
これにより、テキストブロックと変数の内容が紐づけられる




■タイトル画面用ヴィジェット作成


ヴィジェットBPを作成


キャンバスパネル、画像、Vertical Box、”WBP_Button”(3つ)を配置する。
(ヴィジェットBPを配置する場合は、パレットの検索欄から検索する)

ボタンは全て”フィル”し、隙間を埋めておく


配置したボタンヴィジェットのテキストを変更する
(この画面上では反映されないが、ゲームを起動すると反映されている)


全てのボタンヴィジェットをIs Focusable✅する
(フォーカスを受け付ける設定)




■ヴィジェットを表示


プレイヤーコントローラーとかに処理を組む
(フォーカス処理はWBPに組んだ方がいいかも)




ゲームを起動するとこんな感じになる
(青い背景を追加で割り当てました)
ゲームパッドでUIを操作できるし、プッシュも可能




※フォーカス時の青い枠を消したい

【プロジェクト設定】→【ユーザーインターフェース】→【フォーカスレンダリングルール】を”Never”に変更する


※最初のフォーカス時だけプッシュできない

フォーカス対象をWBP全体ではなく、WBPのボタンヴィジェットに限定すると改善する


※テキストまで色が変わってしまう

直し方わからん



いいなと思ったら応援しよう!