Unity3D 在新 UI 中实例化预制件列表
Unity3D instantiate list of prefabs in new UI
我正在尝试在 ScrollView 中制作自定义列表,但我无法在新的 UI.
中完成
我有一个预制件,它是一个 Panel,并排有 5 个 Text 元素。现在,场景中有 ScrollView 一横一竖 Scrollbar 我想 Instantiate 5这些预制件一个接一个地叠在一起,所以它们看起来像 table.
这是我所做的,但它只是将它们实例化并拉伸它们:
for(int i=0; i<5; i++)
{
GameObject q = Instantiate(questionObjectModel) as GameObject;
q.transform.parent = questionListHolder.GetComponent<Transform>();
}
questionObjectModel 是场景中的 ScrollView(我确实尝试设置另一个 Panel在 and_Istantiate_ 个预制件里面。
编辑:
好的,我已经设法将它们设置为不被拉伸。现在只需要将它们设置在另一个下面:
q.transform.SetParent(questionListHolder.transform, false);
我是在朋友的帮助下完成的。
在 ScrollView 中添加新的 Panel 并添加组件 Vertical Layout Group 和 该面板上的内容大小过滤器。当你这样做时,在你正在实例化的预制件上设置组件 Layout Element 并根据需要设置首选大小。
然后只需实例化预制件:
GameObject q = Instantiate(questionObjectModel) as GameObject;
q.transform.SetParent(questionListHolder.transform, false);
实例化说明见http://docs.unity3d.com/Manual/HOWTO-UICreateFromScripting.html
希望对您有所帮助。
我正在尝试在 ScrollView 中制作自定义列表,但我无法在新的 UI.
中完成
我有一个预制件,它是一个 Panel,并排有 5 个 Text 元素。现在,场景中有 ScrollView 一横一竖 Scrollbar 我想 Instantiate 5这些预制件一个接一个地叠在一起,所以它们看起来像 table.
这是我所做的,但它只是将它们实例化并拉伸它们:
for(int i=0; i<5; i++)
{
GameObject q = Instantiate(questionObjectModel) as GameObject;
q.transform.parent = questionListHolder.GetComponent<Transform>();
}
questionObjectModel 是场景中的 ScrollView(我确实尝试设置另一个 Panel在 and_Istantiate_ 个预制件里面。
编辑:
好的,我已经设法将它们设置为不被拉伸。现在只需要将它们设置在另一个下面:
q.transform.SetParent(questionListHolder.transform, false);
我是在朋友的帮助下完成的。
在 ScrollView 中添加新的 Panel 并添加组件 Vertical Layout Group 和 该面板上的内容大小过滤器。当你这样做时,在你正在实例化的预制件上设置组件 Layout Element 并根据需要设置首选大小。
然后只需实例化预制件:
GameObject q = Instantiate(questionObjectModel) as GameObject;
q.transform.SetParent(questionListHolder.transform, false);
实例化说明见http://docs.unity3d.com/Manual/HOWTO-UICreateFromScripting.html
希望对您有所帮助。