Unity UGUI text 自定义斜体显示样式

常规的unity text的斜体样式只有向右倾斜,突然策划让你把字体向左倾斜。text组件不带这种特性,怎么办?

先上显示效果:

Unity UGUI text 自定义斜体显示样式_第1张图片(两个text定义不同的倾斜度)

实现原理是通过定义倾斜度,将提交的顶点信息的x坐标进行偏移。

下面是实现的方法:

1:定义显示的扩展类 Italic

[RequireComponent(typeof(Text))]
public class Italic : BaseMeshEffect
{
}

2:定义倾斜度字段

    [SerializeField]
    private float slope;

3:修改定点的倾斜度

public override void ModifyMesh(VertexHelper vh)
    {
        if (!IsActive()) { return; }
        int count = vh.currentVertCount;
        if (count == 0) { return; }
        if (mVertexList == null) { mVertexList = new List(); }
        vh.GetUIVertexStream(mVertexList);
        //Debug.LogError(JsonConvert.SerializeObject(mVertexList.

你可能感兴趣的:(Unity,UGUI)