定义脚本CurvedText继承自Text,重写OnPopulateMesh函数
protected override void OnPopulateMesh(VertexHelper toFill) //在Unity生成顶点数据后会调用这个函数,
{ //toFill保存了Mesh的所有信息
base.OnPopulateMesh(toFill); //在这个函数中改变顶点坐标,达到改变mesh形状的目的
CurvedText(toFill);
}
private void CurvedText(VertexHelper toFill)
{
if (!IsActive()) //处于未激活状态
return;
for (int i = 0; i < cachedTextGenerator.lines.Count; i++) //遍历所有行
{
UILineInfo line = cachedTextGenerator.lines[i]; //当前行
if (i + 1 < cachedTextGenerator.lines.Count) //不是最后一行
{
UILineInfo line2 = cachedTextGenerator.lines[i + 1]; //下一行