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();};}
}