UI实现横向滚动展示元素,并可以点击指定项增加元素。
成果展示
Scene部分
ScrollView的设置
此案例取消了纵向的滚动条,可以直接删除对应的Scrollbar
,然后取消勾选Scroll Rect
中的Vertical
属性;
MovementType
属性选择了Clamped
(无滚动到头尾反弹效果),默认是Elastic
选项(反弹效果),根据个人喜好选择;
Scroll sensitivity
属性控制滚动的翻动元素的速度,这里填了20
,通常元素越多,可以适当增加速度;
Content的设置
增加Grid Layout Group
组件,帮助排列元素,此篇的案例是固定行数为1行,列数可以无限增加。
增加Content Size Fitter
组件,横向自适应,必须要有此组件,否则滚动视图会失效。
AddItem的脚本绑定
脚本部分
脚本绑定在Content
上
public class UI_Inventory : MonoBehaviour
{
int index;
private void Awake()
{
Transform itemTemplate = transform.Find("itemTemplate");
index = 1;
Transform addItemTransform = transform.Find("addItem");
//Button_UI为自封装的按钮组件,绑定再需要点击的物体上
addItemTransform.GetComponent<Button_UI>().ClickFunc = () =>
{
Transform itemTemplateTransform = Instantiate(itemTemplate, transform);
itemTemplateTransform.Find("text").GetComponent<TextMeshProUGUI>().SetText((++index).ToString());
addItemTransform.SetAsLastSibling();
};
}
}
标签:index,itemTemplate,ScrollView,Unity,UI,组件,UGUI,Find
From: https://www.cnblogs.com/sitarblogs/p/18541044