トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

テキストのURL部分をクリックできるようになるuGUI-Hypertext使ってみた【Unity】

uGUI-Hypertext

UnityのテキストがURLだった時にクリックできるようになるもの。(ブラウザで開く挙動は入ってない)

github.com

ここからunitypackageダウンロード

Releases · setchi/uGUI-Hypertext · GitHub

こちらの実装を参考にしました

develop.hateblo.jp

既存のTextを置き換える場合、Textコンポーネントを消してRegexHypertextを付ける。これがTextの代わりになってる。

f:id:bibinbaleo:20210421143659p:plain

ちゃんとtextで参照してもTextとして参照できる

f:id:bibinbaleo:20210421143853p:plain

f:id:bibinbaleo:20210421143906p:plain

ーー

別途ハイパーリンクや、クリック時の挙動設定のスクリプトを書く。

こんな感じにした

using Hypertext;
using UnityEngine;

public class MenuManager : MonoBehaviour
{
    [SerializeField] private RegexHypertext _MessageText;
    const string RegexURL = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?";
    private Color32 _HyperLinkColor = new Color32(0, 65, 125, 255);
    void Start()
    {
        _MessageText.OnClick(RegexURL, _HyperLinkColor, url => OpenBrowser(url));
    }

    public void OpenBrowser(string url)
    {
        Application.OpenURL(url);
    }
}

RegexHypertextを参照する

f:id:bibinbaleo:20210421145318p:plain

これでURLの色が変わってクリックできるようになり、ブラウザで開くようになった!

f:id:bibinbaleo:20210421144730p:plain

f:id:bibinbaleo:20210421145551p:plain



Unityでテキストの選択

そもそもUnity製のソフトで出てくるTextってコピーとか゚選択できないよね・・・

画像みたいな感じ。

ハイパーリンクで飛べなくてもせめてテキストを選択できればいいのに

なんてググったらいいんだろう?

「Unity テキスト 選択」じゃだめだ〜