【问题标题】:Shrink text horizontally if width exceeds container size with Unity2D如果宽度超过 Unity2D 的容器大小,则水平收缩文本
【发布时间】:2018-08-31 22:41:01
【问题描述】:

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

现在,我知道我可以找到文本的宽度,检查它是否溢出,然后应用简单的数学来在宽度侧缩放它。这就是我目前正在尝试将其放入代码中的内容:但是!我正在寻找我在 Unity 中会忽略的东西。可以更快地完成它的东西,而无需我对其进行硬编码。

现在,我到目前为止所做的尝试(以避免重复这些优惠):

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

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

提前致谢!

【问题讨论】:

  • 我不知道有什么工具会自动统一缩小你的文字,但是你可以使用:docs.unity3d.com/ScriptReference/…来计算你的字体大小,并调整字体大小直到找到一个这是
  • 非常感谢!比预想的少了几步,所以我真的会接受它!

标签: unity3d text dynamic rescale


【解决方案1】:

TextMesh Pro 是一个免费的 Unity 资源,支持自动调整大小和在指定区域调整文本,既可以作为浮动在 3D 空间中的文本,也可以作为 UI 文本。在创建 TextMesh Pro 对象后,有一个名为“Auto-Size”的设置,这是您正在寻找的。​​p>

有关自动调整大小如何工作的详细信息,请参见 here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 2012-07-16
    • 1970-01-01
    相关资源
    最近更新 更多