Unity TextMeshPro實(shí)現(xiàn)富文本超鏈接默認(rèn)字體追加字體
實(shí)踐過(guò)程
??富文本
芝麻粒兒提醒:標(biāo)簽是成對(duì)出現(xiàn)的就不要省略,有的不是成對(duì)的在修改了后就恢復(fù)過(guò)來(lái),如下方alpha示例,否則多了很容易出現(xiàn)意外的錯(cuò)誤效果。
芝麻粒兒提醒:
<b>粗體標(biāo)簽</b> <i>斜體標(biāo)簽</i> <u>下劃線標(biāo)簽</u> <s>刪除線標(biāo)簽</s> <sup>上標(biāo)標(biāo)簽</sup>前面后面上標(biāo)簽 5<sup>。</sup>C <sub>下標(biāo)標(biāo)簽,如:</sub>H<sub>2</sub>O <size=48>文字大小</size> <size=55%>文字大小-百分比</size> <size=+18>默認(rèn)大小上再增加文字大小</size> <size=-18>默認(rèn)大小上減去指定文字大小</size> <pos=40>距離左側(cè)的縮進(jìn),可以實(shí)現(xiàn)類(lèi)似首行縮進(jìn)的,文字大小不同這個(gè)值縮進(jìn)程度不同 <color=yellow>顏色標(biāo)簽寫(xiě)法一</color> <#00ff00>顏色標(biāo)簽寫(xiě)法二</color> <alpha=#FF>正 <alpha=#CC>在 <alpha=#AA>進(jìn) <alpha=#88>行 <alpha=#66>透 <alpha=#44>明度 <alpha=#22>的 <alpha=#00>變化 <alpha=#FF> <align="left">左對(duì)齊<sprite=2>也是默認(rèn)對(duì)齊</align> <align="center">居中對(duì)齊<sprite=2></align> <align="right">右對(duì)齊<sprite=5></align> 1. <indent=15%>縮進(jìn)15%. 多行有效</indent> 2. <indent=100>縮進(jìn)100像素 多行有效</indent> 3. <indent=5em>縮進(jìn)5em 多行有效</indent> 4. <indent=15%>縮進(jìn)15%. <cspace=1em>1em字體單位間距</cspace> <cspace=10>10像素字體單位間距</cspace> <cspace=-4>-10像素縮小間距 使用 <font="LiberationSans SDF">different font?</font>或者使用<font="YouYuan SDF" material="YouYuan SDF - Outline">不同材質(zhì)? <line-height=50%>50%行間距 行間距</line-height> <line-height=100%>100%行間距 正常</line-height> <line-height=150%> 150% 行間距</line-height> <line-indent=15%>行縮進(jìn)只影響單行顯示,多行不受影響</line-indent> <lowercase>ABCDEFG</lowercase> <uppercase>ABCDEFG</uppercase> <smallcaps>AbcdeFg</smallcaps> 設(shè)置 <mark=#ff0000aa>標(biāo)注</mark> 前面是標(biāo)注,需要透明度 <noparse><b></noparse> 取消標(biāo)簽的作用,如b加粗沒(méi)效果 <style=H1>內(nèi)置</style><style=H2>的</style><style=C1>樣式名</style> <width=50%>設(shè)定高可用寬度,超出后即使沒(méi)換行會(huì)自動(dòng)換行的</width> <link="https://zhima.blog.csdn.net/">點(diǎn)擊這 網(wǎng)站 倆字 跳轉(zhuǎn),需要額外腳本</link>
??超鏈接腳本
[RequireComponent(typeof(TMP_Text))] public class LinkOpener : MonoBehaviour, IPointerClickHandler { public void OnPointerClick(PointerEventData eventData) { TMP_Text pTextMeshPro = GetComponent<TMP_Text>(); int linkIndex = TMP_TextUtilities.FindIntersectingLink(pTextMeshPro, eventData.position, null); // If you are not in a Canvas using Screen Overlay, put your camera instead of null if (linkIndex != -1) { // was a link clicked? TMP_LinkInfo linkInfo = pTextMeshPro.textInfo.linkInfo[linkIndex]; Application.OpenURL(linkInfo.GetLinkID()); } } }
??3D中使用
除了UI使用TextPro外,3D場(chǎng)景中也能用。創(chuàng)建個(gè)空物體,我們添加組件TextMeshPro -Text組件,注意不是TextMeshPro -Text (UI)組件。特別注意不掛UI。
??設(shè)置默認(rèn)字體
如果你沒(méi)有進(jìn)經(jīng)過(guò)這一步,你每創(chuàng)建一個(gè)TextMesh組件,里面的字體默認(rèn)還是系統(tǒng)的,還得我們一個(gè)個(gè)找到自己的字體修改設(shè)置。有兩種方式修改全局默認(rèn),這樣每創(chuàng)建TextMesh都是我們自己的字體:
方式一:Edit > Project Settings > TextMesh Pro Settings修改該字形。
方式二:找到TextMeshPro的設(shè)置文件,默認(rèn)就在(你的項(xiàng)目)/Assets/TextMesh Pro/Resources中一個(gè)叫TMP Settings的文件。修改TMP Settings中的Default Font Asset即可。
??追加額外字符
如果你一開(kāi)始就不是直接生成的全部文字的字體庫(kù),隨著項(xiàng)目的更新總會(huì)遇見(jiàn)某些字符你沒(méi)有提前設(shè)置如字體資源庫(kù)中,這時(shí)候就有兩種方案:
重新生成一個(gè)全的,直接替換掉你原來(lái)的。
找到TMP Settings或者直接找到那個(gè)SDF字體文件,會(huì)發(fā)現(xiàn)有個(gè)Fallback Font Assets的屬性,點(diǎn)擊加號(hào)就可以繼續(xù)添加額外的SDF字體庫(kù)資源文件。
以上就是Unity TextMeshPro實(shí)現(xiàn)富文本超鏈接默認(rèn)字體追加字體的詳細(xì)內(nèi)容,更多關(guān)于Unity TextMeshPro富文本字體的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Unity的IPreprocessBuildWithReport實(shí)用案例深入解析
- Unity的BuildPlayerProcessor實(shí)用案例深入解析
- Unity中的RegisterPlugins實(shí)用案例深入解析
- Unity的IPostprocessBuild實(shí)用案例深入解析
- Unity的IPreprocessBuild實(shí)用案例深入解析
- Unity的IFilterBuildAssemblies實(shí)用案例深入解析
- 一文詳解Unity3D?AudioSource組件使用示例
- Unity InputFiled TMP屬性和各種監(jiān)聽(tīng)示例詳解
- Unity中的InitializeOnLoad特性實(shí)踐深入解析
相關(guān)文章
C#中加鹽(salting)的實(shí)現(xiàn)示例
在密碼存儲(chǔ)和驗(yàn)證中,加鹽是一種增加密碼安全性的技術(shù),本文主要介紹了C#中加鹽(salting)的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01C#窗口實(shí)現(xiàn)定時(shí)關(guān)機(jī)系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C#窗口實(shí)現(xiàn)定時(shí)關(guān)機(jī)系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07Winform界面中實(shí)現(xiàn)菜單列表的動(dòng)態(tài)個(gè)性化配置管理方法
下面小編就為大家分享一篇Winform界面中實(shí)現(xiàn)菜單列表的動(dòng)態(tài)個(gè)性化配置管理方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-11-11c# 引用類(lèi)型與值類(lèi)型的區(qū)別詳解
本篇文章是對(duì)c#中引用類(lèi)型與值類(lèi)型的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C#基礎(chǔ)知識(shí)之GetType與typeof的區(qū)別小結(jié)
在比較對(duì)象時(shí),需要了解他們的類(lèi)型,才能決定他們的值是否能比較。所有的類(lèi)都從System.Object中繼承了GetType()方法,常常與typeo()運(yùn)算符一起使用。這篇文章主要給大家介紹了關(guān)于C#基礎(chǔ)知識(shí)之GetType與typeof區(qū)別的相關(guān)資料,需要的朋友可以參考下2021-06-06如何利用c#實(shí)現(xiàn)通用守護(hù)進(jìn)程
這篇文章主要給大家介紹了關(guān)于如何利用c#實(shí)現(xiàn)通用守護(hù)進(jìn)程的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用c#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10