var string = <link=url><u><#0076FF>open url</u></color></link>
text里面设置这个字符串
public void OnPointerClick(PointerEventData eventData) { int linkIndex = TMP_TextUtilities.FindIntersectingLink(_desText, Input.mousePosition, eventData.pressEventCamera); if (_desText.textInfo.linkInfo.Length == 0) return; TMP_LinkInfo linkInfo = _desText.textInfo.linkInfo[linkIndex]; RectTransformUtility.ScreenPointToLocalPointInRectangle(_desText.rectTransform, eventData.position, eventData.pressEventCamera, out var worldPointInRectangle); //做一些测试,如果里面没有包含一些关键字符,则不会触发 var str = linkInfo.GetLinkID(); if (!str.Contains("https")) return; Application.OpenURL(str); }
然后给改text添加一个点击事件,然后在点击的时候获取到 LinkId ,然后自己对获取到的 LinkId 做处理
标签:TMP,desText,标签,Unity,link,str,var,eventData,linkInfo From: https://www.cnblogs.com/XieBoss-blogs1/p/18320777