UGUI Text组件上动态显示Emoji
生活随笔
收集整理的這篇文章主要介紹了
UGUI Text组件上动态显示Emoji
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
本文是對Github上關(guān)于Unity使用Emoji的說明和完善。https://github.com/mcraiha/Unity-UI-emoji
式例代碼很簡單,只要使用以下代碼,修改emoji引用內(nèi)容就能跑起來。
string content = "bicyclist: \U0001F6B4, and US flag: \U0001F1FA\U0001F1F8"; StartCoroutine(this.SetUITextThatHasEmoji(this.bicycleAndUSFlagText, content));emoji的引用代碼是"\U000+其素材對應名稱"。如果有連接符"-",如澳洲國旗1f1e6-1f1e8,就要寫成/U0001f1e6/U0001f1e8,并且中間不能有空格。
但是問題來了,這里的Emoji代碼都是寫死在腳本里的,如何在runtime中動態(tài)插入string,并把string轉(zhuǎn)成emoji引用碼呢??
通常我處理轉(zhuǎn)義字符如"\n","\r"等,可以使用string.Replace("\\n","\n")這樣的方法,但是emoji碼里的"\U"并不是真正的轉(zhuǎn)義字符。所以我們要使用代碼將其轉(zhuǎn)Unicode碼。
string DecodeUTF16(string text) {return Regex.Replace(text,@"\\U(?<Value>[a-zA-Z0-9]{8})",m => char.ConvertFromUtf32(int.Parse(m.Groups["Value"].Value, NumberStyles.HexNumber))); }
轉(zhuǎn)好后就可以這樣使用了。
StartCoroutine(this.SetUITextThatHasEmoji(this.bicycleAndUSFlagText, DecodeUTF16(content)));
總結(jié)
以上是生活随笔為你收集整理的UGUI Text组件上动态显示Emoji的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Eigen的LLT分解
- 下一篇: HTML中提取图片的SRC路径