在做聊天系统的时候,由于我想要实现这样的效果->如果当前角色与其他角色正在私聊显示这样的效果
如果当前角色并没有与其他角色私聊,而是在一个公共频道上进行与多人对话的活动则实现这样的效果

最初是设想,当私聊的时候,将聊天目标的标签显示,如果不私聊的话,直接将其隐藏即可,但是这样做对于输入框来说很不友好,因为他并不会自动适应大小,想要解决这样的问题很简单,只需要用两个unity自带的控件即可
1.Horizontal Layout GrounpHor
2.Layout Element
第一个控件用来保证两个组件是将父本的区域占满
第二个控件则用来将两个子物体进行等比例的分割,并且实现了当某一个子物体隐藏的时候,另一个子物体自动将父本的区域占满。
其中最主要的是Flexible With 的相对占比属性
父物体:

子物体2:
子物体1

空间的使用可以去官方文档上去查
结束。
本文介绍了如何在Unity中利用HorizontalLayoutGroup和LayoutElement控件来实现聊天系统的动态布局。当角色处于私聊状态时,显示聊天目标标签;否则,在公共频道上聊天时,自动调整布局以适应多用户对话。通过FlexibleWidth属性,可以确保聊天窗口在元素隐藏时能够自动填充空间,提供更好的用户体验。
4万+

被折叠的 条评论
为什么被折叠?



