キューバに行ってみたい

ゲーム開発とかWeb開発とか

[Unity] EventTrigger を使ってテキストをクリックできるようにする

Version unity 2020.3.32.f1 で動作検証を行っています。

Button オブジェクトにはクリックで何かしら処理をさせるというような仕組みが初めから用意されていますが、
Text のようなオブジェクトはそのような仕組みが用意されていません。

Button オブジェクト以外でもクリックで何かしら処理をしたいことがあるかと思います。

今回はそのような場合の実装方法の一例を紹介したいと思います。

実装方法

まずテキストに EventTrigger の component を追加します。

そして以下の script を作成し、テキストにアタッチします。

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

public class Click : MonoBehaviour
{
    public void OnClick()
    {
        this.gameObject.GetComponent<Text>().text = "isClick";
    }
}

OnClick メソッドではテキストを "isClick" に変更する処理を書いています。

次に先ほど追加した EventTrigger Component で Event Type Pointer Down を追加します。
この Pointer Down ではポインターがオブジェクトを押下したことを検知することができます。

最後に Pointer Down の Event として OnClick メソッドを登録することで、
オブジェクトを押下すると OnClick メソッドを発動することができます。

分かりにくいですが、このように動作確認することができます。

簡単ですが以上です。