コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】uGUI のテキストの一部の文字列がクリックされたときの挙動を設定できる「uGUI-Hypertext」紹介

はじめに

「uGUI-Hypertext」を Unity に導入することで
uGUI のテキストの一部の文字列がクリックされたときの挙動を設定できるようになります

使用例

f:id:baba_s:20171102170804p:plain

UI 用の空のゲームオブジェクトに「RegexHypertext」コンポーネントをアタッチします

f:id:baba_s:20171102171610p:plain

「Example.cs」という名前でファイルを作成します

using UnityEngine;

public class Example : MonoBehaviour 
{
    private void Awake()
    {
        var textUI = GetComponent<RegexHypertext>();

        textUI.SetClickableByRegex
        (
            regexPattern : "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?", 
            color        : Color.yellow, 
            onClick      : url => Application.OpenURL( url )
        );
    }
}

「Example.cs」に上記のコードを記述します
ここでは、URL の文字列を黄色くして、かつ URL がクリックされたら
ブラウザを起動するように設定しています

f:id:baba_s:20171102171706p:plain

「RegexHypertext」コンポーネントをアタッチしたオブジェクトに「Example.cs」を追加します
そして、Text に URL を含む文字列を設定します

f:id:baba_s:20171102171804p:plain

これでゲームを実行すると、URL の文字列が黄色くなって、
URL をクリックするとブラウザ起動されることが確認できます

関連記事