unity为panel添加scroll rect并在scroll rect中动态添加由预设体循环生成的对象
- 首先,在Unity中创建一个空白的UI面板,将其命名为“Panel”。
- 在Panel上添加一个Scroll Rect组件。在Scroll Rect中,将Content属性设置为Panel的子对象,这样当Panel滚动时,其子对象也会随之滚动。
- 在Panel的子对象中创建一个空白的UI面板,将其命名为“Item”,并将其作为Content的子对象。这个Item将作为我们循环生成的对象的模板。
- 在Item上添加需要的UI组件,例如文本、图像等。
- 创建一个空的C#脚本,将其命名为“LoopItems”。
- 在LoopItems脚本中,添加一个public GameObject类型的变量,用于存储Item的预设体。
- 在LoopItems脚本中,添加一个public int类型的变量,用于存储需要生成的Item数量。
- 在LoopItems脚本中,添加一个private List
类型的变量,用于存储生成的Item对象。 - 在LoopItems脚本中,添加一个private void类型的方法,用于生成Item对象。在方法中,使用Instantiate函数生成Item对象,并将其作为Content的子对象。
- 在LoopItems脚本的Start方法中,循环调用生成Item对象的方法,生成需要的数量的Item对象,并将其存储在List中。
- 在LoopItems脚本中,添加一个private void类型的方法,用于更新Item对象的位置。在方法中,使用RectTransform组件获取每个Item的位置和大小,并根据Scroll Rect的位置和大小调整每个Item的位置。
- 在LoopItems脚本的Update方法中,循环调用更新Item位置的方法,以便在滚动时更新Item的位置。
- 将LoopItems脚本添加到Panel的GameObject上,并将Item预设体和需要生成的Item数量赋值给LoopItems脚本的变量。
- 运行程序,可以看到生成的Item对象随着Panel的滚动而循环显示
原文地址: https://www.cveoy.top/t/topic/cyqb 著作权归作者所有。请勿转载和采集!