参考動画
今回は、ボタンクリックの押した時、離した時の判定の取り方を紹介していきます。
EventTriggerを使用する
通常のボタンでは、クリックしたときのみ指定した関数を実行することが出来ます。ですが、押されている間や離したときに処理を呼びたいときに、Buttonコンポーネントのみでは、実行することが出来ません。
対応策としては、画像のようにEventTriggerを追加することで対応することが出来ます。
まずは、EventTriggerコンポーネントのAddNewEventTypeをクリックし、出てきたメニューから、それぞれ、PointerDown、PointerUpを選択します。
あとは、Buttonと使い方は同じで、ボタンを押したとき、ボタンを離したときに実行したい関数をそれぞれ設定するだけで、実行することが出来ます。
コード側
using UnityEngine;
namespace PFAssets
{
public class VirtualController : SingletonMonoBehaviour<VirtualController>
{
public void RightButtonDown()
{
Debug.Log("RightDown");
}
public void RightButtonUp()
{
Debug.Log("RightUp");
}
public void LeftButtonDown()
{
Debug.Log("LeftDown");
}
public void LeftButtonUp()
{
Debug.Log("LeftUp");
}
public void EnterButtonDown()
{
Debug.Log("EnterDown");
}
public void EnterButtonUp()
{
Debug.Log("EnterUp");
}
}
}
コード側ではそれぞれのボタンに対応した関数を用意しています。あとはEventTriggerにて、それぞれ設定することで、動画のようにボタンの実装を行うことが出来ます。