短編RPG制作(Unity2D)【第23回】メニューの作成その3
メニューボタンの実装
メニュー画面の表示・非表示を切り替えるボタンを作ります。
ボタン作成
まずは、左下にボタンを表示させます。
メニュー画面は邪魔なので非表示にしておきます。
ボタンは最前面に表示したいので、新しいキャンバスを作ってレイヤー表示順を調整しました。
スクリプトの作成
表示切替機能を作ります。
using UnityEngine;
public class MenuButton : MonoBehaviour
{
[SerializeField] private Canvas _canvas;
private bool canvasEnable = false;
public void OnClickMenuButton()
{
if (!canvasEnable)
{
_canvas.enabled = true;
canvasEnable = true;
}
else
{
_canvas.enabled = false;
canvasEnable = false;
}
}
}
Inspectorウィンドウでメニュー画面をセットして、ボタンを押すごとに切り替えられるようにしました。
bool型の変数を作って、それをもとに動作を分岐させていますが、もっといい方法があるかもしれません。あんまり調べずに書いたので。
ボタンにスクリプトを登録
第18回でContinueボタンを作ったのと同様の手順で、スクリプトを使えるようにします。
まず、メニューボタンにMenuButtonスクリプトをアタッチします。
次に、ButtonコンポーネントのOnclickプロパティの「+」をクリック。「None(Object)」の部分にメニューボタンオブジェクトをセットします。
クリックした際に起動する動作として、"MenuButton.OnClickMenuButton()"を選択しておきます。
これで、クリックするたびにメニュー画面の表示・非表示が切り替わるはずです。
テスト
ちゃんと機能が実装されたか、試してみます。
開始時はメニューを非表示にしておきたいので、Sceneウィンドウで非表示状態を維持しておきます。
無事にメニュー画面表示ボタンを実装できました。
まとめ
単純な機能だったので、すんなり実装できました。ボタンの作成を第18回でやっていたのが大きかったですね。
次回は、アイテムドロップの設定とプレイヤーのインベントリ設定を行っていきます。
この記事が気に入ったらサポートをしてみませんか?