AppSeedのアプリ開発ブログ

アプリ開発会社AppSeed(アップシード)開発担当のブログです。iOS、Android、Unity、Cocos2d-xなどアプリ開発関連のTipsや備忘録、アプリ開発に役立つ情報を発信します。

【Unity】ボタンのクリックイベント をコードから追加する方法

https://unity3d.com/files/images/ogimg.jpg?1

Unityで画面に設置したボタンのクリックイベントをコードから追加する方法についてのメモ。
今までは「Hierarchy」からボタンを選択して、OnClickにボタンを押した時のメソッドを追加していました。

【Unity】ボタンのクリックイベント をコードから追加する方法

【Unity】ボタンのクリックイベント をコードから追加する方法


これでも、いいっちゃいいし、今までこれでやってきていたのですが、


【Unity】ボタンのクリックイベント をコードから追加する方法

最近、ボタンを大量に使う画面を作成することがありまして、上記の方法だと大量にボタンがある場合に結構大変でした。
(一つ一つのボタンにクリックイベントを追加しなくちゃいけない)

調べてみたら、コードからButtonにクリックイベントを追加する方法があったので、今後はこの方法でクリックイベントを追加しようと思います。


【Unity】ボタンのクリックイベント をコードから追加する方法

ボタンにコードでクリックイベントを追加する場合は以下のようなスクリプトをButtonに追加すればOKです。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class TestButton : MonoBehaviour
{

    // Start is called before the first frame update
    void Start()
    {
        GetComponent<Button>().onClick.AddListener(Select);
    }

    public void Select()
    {
        Debug.Log("Select ");
    }
}


初期化のタイミングで、onClickにイベントを追加すれば、「Hierarchy」上からクリックイベントを追加するのと同じことができるので、大量のボタンを用意するようなUIであってもクリックイベントを一個一個追加する必要がなくなるのでおすすめです。


関連:
develop.hateblo.jp