Unityのボタンクリックイベントをコードで実現
以下にUnityでボタンクリックイベントをコードで実装するサンプルを示します
サンプル
まず、Unityのシーンにボタンを追加し、そのボタンに対してクリックイベントを設定する必要があります。これはUnityのエディタで簡単に行うことができます。
以下は、スクリプトによるクリックイベントの設定方法です。
シーンの構成
コード
using UnityEngine;
using UnityEngine.UI;
public class ButtonClickEvent : MonoBehaviour
{
public Button button;
private void Start()
{
button.onClick.AddListener(OnClick);
}
private void OnClick()
{
// ここにクリックされたときの処理を記述します
Debug.Log("Button clicked!");
}
}
上記のスクリプトでは、ButtonClickEventクラスにButtonを公開し、StartメソッドでOnClickメソッドをボタンのクリックイベントに登録しています。
OnClickメソッドには、クリックされたときに実行する処理を記述します。ここでは、シンプルにログ出力を行っていますが、実際のプロジェクトでは他の処理を行うことができます。
以上がUnityでボタンクリックイベントをコードで実装するためのサンプルです。
引数がある場合
シーンの構成
スクリプトを空のGameObjectにアタッチします
ボタンを3つ作成します
それぞれのボタンを作成したゲームオブジェクトのインスペクターにアタッチされているスクリプトの3つのボタンのエリアにアタッチ(アウトレット接続)します
プレイモード(実行)で各ボタンをクリックすると、そのメッセージがコンソールに出力されます
クリックは押し下げてから離すという意味であることに注意してください
コード
using UnityEngine;
using UnityEngine.UI;
public class Example : MonoBehaviour
{
// インスペクタでこれらのButtonsをアタッチすることを確認する
public Button m_YourFirstButton, m_YourSecondButton, m_YourThirdButton;
void Start()
{
// ButtonをクリックしたときにTaskOnClick/TaskWithParameters/ButtonClickedメソッドを呼び出します
m_YourFirstButton.onClick.AddListener(TaskOnClick);
m_YourSecondButton.onClick.AddListener(delegate {TaskWithParameters("Hello"); });
m_YourThirdButton.onClick.AddListener(() => ButtonClicked(42));
m_YourThirdButton.onClick.AddListener(TaskOnClick);
}
void TaskOnClick()
{
// Button1またはButton3がクリックされたときにコンソールに出力する
Debug.Log("ボタンをクリックしました");
}
void TaskWithParameters(string message)
{
// Button2がクリックされたときにコンソールに出力します
Debug.Log(message);
}
void ButtonClicked(int buttonNo)
{
// Button3がクリックされたときにコンソールに出力します
Debug.Log("ボタンがクリックされた = " + buttonNo);
}
}
このコードは、Unityのボタンのクリックイベントに対してリスナーを登録する方法を示しています。
Example
クラスは、 MonoBehaviour
クラスを継承しています。このクラスはUnityでコンポーネントを実装するための基本クラスであり、各コンポーネントはそれを継承します。
Example
クラスには、3つの Button
変数があります。これらの変数は、Unityのエディタでボタンにアタッチされることを想定しています。
Start
メソッドでは、それぞれのボタンに対してリスナーを登録しています。リスナーとしては、 TaskOnClick
、TaskWithParameters
、ButtonClicked
メソッドを使用しています。
m_YourFirstButton.onClick.AddListener(TaskOnClick);
:最初のボタンがクリックされた場合、TaskOnClick
メソッドを呼び出します。m_YourSecondButton.onClick.AddListener(delegate {TaskWithParameters("Hello"); });
:2番目のボタンがクリックされた場合、TaskWithParameters
メソッドを呼び出します。このメソッドは、文字列の引数を取ります。m_YourThirdButton.onClick.AddListener(() => ButtonClicked(42));
:3番目のボタンがクリックされた場合、ButtonClicked
メソッドを呼び出します。このメソッドは、整数の引数を取ります。m_YourThirdButton.onClick.AddListener(TaskOnClick);
:また、3番目のボタンがクリックされた場合、TaskOnClick
メソッドも呼び出します。
TaskOnClick
メソッド、TaskWithParameters
メソッド、 ButtonClicked
メソッドは、ボタンがクリックされた場合に実行されるメソッドです。TaskWithParameters
メソッドでは、文字列が引数として渡され、ButtonClicked
メソッドでは、整数が引数として渡されます。TaskOnClick
メソッドは、単純にコンソールにメッセージを出力するだけです。
これらのリスナーを使用することで、ボタンがクリックされたときに実行されるメソッドを簡単に登録することができます。
ディスカッション
コメント一覧
まだ、コメントがありません