如何使用transform.position动态对齐文本

时间:2016-01-19 02:02:31

标签: unity3d

我试图在统一画布中动态对齐水平文本,虽然我似乎无法完美。文本的边缘应该使用以下方式对齐屏幕右侧:screen.width - text.rect.width / 2 + 5(5用于填充)我还使用内容大小适配器来缩放水平变换以设置正确的文本转换宽度。我所拥有的问题是它开始时是对齐的,虽然添加的文字越多,text.transform的边缘和屏幕右边的边缘之间的间距就越大。它不会保持静止...使用锚点不会工作,因为我将图像和按钮对齐到本文的左侧。

2 个答案:

答案 0 :(得分:1)

您可以添加Horizo​​ntalLayoutGroup组件,以便它自动执行。您需要使组大小等于项目数量,以便不会缩小以适应。

答案 1 :(得分:0)

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