1

考虑Text具有许多文本段落的 a。使用UICharInfo很容易找到某个字符的位置。

例如,查找所有换行符...

TextGenerator tg = text.cachedTextGenerator;
int kText = tg.characterCount;
for (int i=0; i < kText; ++i)
  {
  if ( text.text[i] == '\n' )
    Debug.Log("found a newline at " + tg.verts[i * 4].position.y);
  }

这给出了正确的比率,但它们都超出了一些比例因子

它似乎取决于很多东西(屏幕形状、像素、设置等等)。

自然,这是在Canvas使用比例尺与屏幕尺寸。

你如何获得一个字符的实际偏移量 - 在滚动视图中使用以滚动到该点

4

1 回答 1

1

它使用 text.pixelsPerUnit 和他们所谓的舍入偏移的组合。他们使用的代码是开源的,可以在这里找到。您正在寻找的相关行在函数中

protected override void OnPopulateMesh(VertexHelper toFill)

他们用来计算它们的所有函数都是公开的,应该很容易在你身边复制

于 2016-02-22T15:27:59.463 回答