Unity 富文本 link 标签使用办法
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 做处理

浙公网安备 33010602011771号