uGUIのボタンにスクリプトからイベントを設定する方法

  • 13
    Like
  • 0
    Comment
More than 1 year has passed since last update.

uGUIのボタンなどにスクリプトでイベントを設定したくなったので方法をメモ。

// uGUIのボタンなどにイベントを設定するスクリプト例
using UnityEngine;
using UnityEngine.EventSystems;
using System.Collections.Generic;

public class HogeScript : MonoBehaviour {
    void Start() {
        var trigger = gameObject.AddComponent<EventTrigger>();
        trigger.delegates = new List<EventTrigger.Entry>();

        // PointerEnter(マウスオーバー)時のイベントを設定してみる
        var entry = new EventTrigger.Entry();
        entry.eventID = EventTriggerType.PointerEnter; // 他のイベントを設定したい場合はここを変える
        entry.callback.AddListener( (x) => { Debug.Log("Enter!"); });
        trigger.delegates.Add(entry);
    }
}

この方法で追加するとInspectorに一部表示されませんが動作します。