考虑一个包含许多段落文字的Text
。使用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
使用屏幕尺寸缩放。
如何获得角色的实际偏移量 - 在滚动视图中使用滚动到该点?
答案 0 :(得分:1)
它使用text.pixelsPerUnit和他们称之为舍入偏移量的组合。他们使用的代码是开源的,可以找到here。您正在寻找的相关行位于函数
中protected override void OnPopulateMesh(VertexHelper toFill)
他们用来计算它们的所有功能都是公开的,应该很容易复制到你身边