【问题标题】:How to dynamically align text using transform.position如何使用 transform.position 动态对齐文本
【发布时间】:2016-01-20 13:39:14
【问题描述】:

我正在尝试动态对齐统一画布中的水平文本,尽管我似乎无法完善这一点。文本的边缘应对齐到屏幕的右侧,使用:screen.width - text.rect.width/2+5(5 用于填充)我还使用内容大小调整器来缩放水平变换以设置文本的正确变换宽度。我遇到的问题是它开始对齐,尽管添加的文本越多,text.transform 边缘和屏幕右侧边缘之间的间距就越大。它不会保持静止...使用锚点不起作用,因为我会将图像和按钮对齐到此文本的左侧。

【问题讨论】:

  • 那么什么人!您可以将锚点用于文本并将该文本用作图像和按钮的参考/锚点
  • 那么哈姆扎!文本转换 rect 将扩展超出屏幕边缘。移动枢轴点解决了这个问题

标签: unity3d


【解决方案1】:

您可以添加一个 Horizo​​ntalLayoutGroup 组件,以便它自动完成。您需要使组大小等于项目数量,以免缩小以适​​应。

【讨论】:

    【解决方案2】:

    使用 transform.position 对齐到屏幕右侧不会随着文本的增加而正确对齐文本。为了解决这个问题,我创建了一个面板,附加了一个带有内容大小调整器的水平布局组,并将 ui 文本附加为子项。然后选择父面板并将轴心点移动到其 transform.rect 的最右侧。这样,文本会动态地向左扩展,不会超出视野,同时与屏幕边缘保持精确的边距。
    仍然不确定为什么使用面板相对于屏幕边缘的 transform.position 的手动方式不起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-17
      • 2010-10-27
      • 2019-09-28
      • 2013-08-14
      • 1970-01-01
      • 1970-01-01
      • 2021-10-23
      • 2016-07-17
      相关资源
      最近更新 更多