はじめに
こんにちは、かなたです。
UnityでメニューUIを作成する方法についての備忘録になります。
ここでいうメニューUIとはゲーム中にボタンを押すとモーダル表示されるUIを意味します。
例えば、設定ボタンを押すと表示されるBGMやSEの音量を変えられるウィンドウです。
1. ボタン・モーダルウィンドウ・背景の作成
最初にUnity上でButtonコンポーネントを持つオブジェクトを作成します。
ImageコンポーネントにButton
をつけるなど方法は問いません。
続いてモーダル表示するウィンドウを用意してAlpha
を設定した黒背景も用意します。
ここまでのUnityの画面を貼ります。
2. MenuControllerの作成
次にモーダルの表示・非表示を管理するMenuController
を作成します。
MenuController.cs
using UnityEngine;
public class MenuController : MonoBehaviour
{
public GameObject menuBackground;
public GameObject menuWindow;
public void ToggleMenu()
{
if(menuWindow.activeSelf)
{
menuWindow.SetActive(false);
menuBackground.SetActive(false);
}
else
{
menuWindow.SetActive(true);
menuBackground.SetActive(true);
}
}
}
コード内容
ToggleMenu():モーダルウィンドウと背景のアクティブ状態を切り替えます。
3. 表示切り替えボタンへの設定
表示切り替えボタンのOnClick
にMenuController
を持つオブジェクトを設定し、ToggleMenu
を割り当てます。
ボタンを押した時にメニューの表示・非表示が切り替わります。
...
おわりに
以上がメニューUIの作成方法になります。
オブジェクトのアクティブ状態を切り替えるだけなので、Unity開発者であればできて当たり前なことと思います。
この記事が何かの為になれば嬉しいです。
それではさよなら。