如果宽度超过容器大小,使用Unity2D

时间:2018-03-22 13:09:37

标签: unity3d text dynamic rescale

所以,我正在尝试使用Unity2D来创建一个TCG / CCG视频游戏,而且我似乎遇到了一个轻微的问题:我似乎无法有效地调整水平文本的大小,最终比其容器更大。 (示例:文本的宽度为200,我想在170中使用它)。我的意思是,Unity确实有一个“修复”选项“最适合”,但它没有应有的效果,而是改变字体大小以更好地适应它(这不是预期的结果。)

现在,我知道我可以找到文本的宽度,检查它是否溢出,然后应用简单的数学运算在宽度方面进行缩放。这是我目前正试图在代码中添加的内容:但是!我正在寻找Unity中我会忽略的东西。能够更快完成任务的东西,而我不必对其进行硬编码。

现在,我到目前为止所尝试的(避免重复这些提议):

  • Best Fit(实际上改变了字体大小,不符合我的需要)
  • 两个“水平溢出”设置
  • 内容大小Fitter(此外,我似乎无法使用GetComponent<>那个。)

如果你知道我应该知道的任何技巧,请随时告诉我:这对我的编码很有帮助。

提前致谢!

1 个答案:

答案 0 :(得分:2)

TextMesh Pro是一款免费的Unity资产,支持自动调整大小并在指定区域中拟合文本,包括浮动在3D空间中的文本和UI文本。在创建TextMesh Pro对象时,有一个名为" Auto-Size"这就是你要找的东西。

可以找到有关自动尺寸工作原理的详细信息here