Unity3D在新UI中实例化预制件列表

时间:2015-01-17 10:14:12

标签: unity3d unity3d-gui

我正在尝试在 ScrollView 中制作自定义列表,但我无法在新的用户界面中进行此操作。
我有一个预制件,它是一个面板并排有5个 Text 元素。现在,场景中有 ScrollView ,其中包含一个水平和一个垂直滚动条,我想实例化这些预制件中的5个,因此它们看起来很像像一张桌子。
这就是我所做的,但它只是在彼此之上实例化并延伸它们:

    for(int i=0; i<5; i++)
    {
        GameObject q = Instantiate(questionObjectModel) as GameObject;
        q.transform.parent = questionListHolder.GetComponent<Transform>();
    }

questionObjectModel 是场景中的 ScrollView (我确实试图在其中设置另一个 Panel 和_Istantiate_ prefabs)。

修改
好吧,我设法让它们不被拉伸。现在只需将它们设置在另一个之下:

q.transform.SetParent(questionListHolder.transform, false);

1 个答案:

答案 0 :(得分:5)

我是在朋友的帮助下做到的 在 ScrollView 内部添加新的 Panel ,然后在该面板上添加组件 Vertical Layout Group Content Size Filter 。当您这样做时,在预制件上您将实例化设置组件布局元素并根据需要设置首选大小。
然后用以下方法实例化预制件:

        GameObject q = Instantiate(questionObjectModel) as GameObject;
        q.transform.SetParent(questionListHolder.transform, false);

您可以在http://docs.unity3d.com/Manual/HOWTO-UICreateFromScripting.html

上看到实例化说明

我希望它有所帮助。