這篇文章給大家介紹Unity中怎么利用 UGUI控制text文字間距,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
為崇明等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及崇明網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、崇明網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!1、定義擴(kuò)展效果類
[RequireComponent(typeof(Text))] public class Spacing : BaseMeshEffect { }
2、添加行間距,列間距(Text的行間距廢掉不用了),緩存頂點(diǎn)信息
[SerializeField] private float spacing_x; [SerializeField] private float spacing_y; private ListmVertexList;
3、獲取相關(guān)文字的頂點(diǎn)信息數(shù)組,通過(guò)每六個(gè)定點(diǎn)信息代表一個(gè)文字來(lái)判斷列數(shù)。通過(guò)定點(diǎn)信息的橫坐標(biāo)來(lái)判斷行數(shù)(這個(gè)想了半天才找出的解決方案。我先試的縱坐標(biāo),結(jié)果卻不那么好用,大伙把頂點(diǎn)的值打出來(lái)就明白了)。這樣通過(guò)修改文字的頂點(diǎn)的位置信息據(jù)解決了。下面是具體的實(shí)現(xiàn):
public override void ModifyMesh(VertexHelper vh) { if(spacing_x == 0 && spacing_y == 0) { return; } if (!IsActive()) { return; } int count = vh.currentVertCount; if (count == 0) { return; } if (mVertexList == null) { mVertexList = new List(); } vh.GetUIVertexStream(mVertexList); int row = 1; int column = 2; List sub_vertexs = mVertexList.GetRange(0, 6); float min_row_left = sub_vertexs.Min(v => v.position.x); int vertex_count = mVertexList.Count; for (int i = 6; i < vertex_count;) { if (i % 6 == 0) { sub_vertexs = mVertexList.GetRange(i, 6); float tem_row_left = sub_vertexs.Min(v => v.position.x); if (tem_row_left <= min_row_left) { min_row_left = tem_row_left; ++row; column = 1; //continue; } } for(int j=0;j<6;j++) { UIVertex vertex = mVertexList[i]; vertex.position += Vector3.right * (column - 1) * spacing_x; vertex.position += Vector3.down * (row - 1) * spacing_y; mVertexList[i] = vertex; ++i; } ++column; } vh.Clear(); vh.AddUIVertexTriangleStream(mVertexList); }
關(guān)于Unity中怎么利用 UGUI控制text文字間距就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。