【发布时间】:2016-01-24 05:15:23
【问题描述】:
我想创建聊天窗口,消息必须从侧面显示。所以现在我的系统带有放置在具有垂直布局组的 UI 元素内的消息,但是我不能在水平轴上移动消息,因为消息的位置是由垂直布局组驱动的。 我曾尝试通过更改填充来做到这一点,但它的效果非常丑陋,我无法将消息添加到聊天窗口并同时移动它们。 那么有没有办法在垂直布局组驱动的聊天窗口中创建自定义消息外观?
【问题讨论】:
标签: unity3d
我想创建聊天窗口,消息必须从侧面显示。所以现在我的系统带有放置在具有垂直布局组的 UI 元素内的消息,但是我不能在水平轴上移动消息,因为消息的位置是由垂直布局组驱动的。 我曾尝试通过更改填充来做到这一点,但它的效果非常丑陋,我无法将消息添加到聊天窗口并同时移动它们。 那么有没有办法在垂直布局组驱动的聊天窗口中创建自定义消息外观?
【问题讨论】:
标签: unity3d
不要将标签直接放入 VerticalLayoutGroup 中,而是将它们中的每一个放入一个单独的容器中,称为 ChatLine。 ChatLine 只是一个带有 RectTransform 的空 GameObject。您放入 VerticalLayoutGroup 的那些 ChatLines。
VerticalLayoutGroup
ChatLine
Label
ChatLine
Label
VerticalLayoutGroup 将排列 ChatLine 对象,将一个置于另一个之下。如何安排每个 ChatLines 中包含的标签取决于您。您可以随意水平移动它们以创建您想要的效果。
【讨论】:
垂直布局组有其局限性。您可以通过脚本在 VerticalLayoutGroup 类中查找更多属性,但很可能您只需要创建自己的布局,这样您就可以完全控制每个元素的位置。
【讨论】: