我能想到的“最简单”的和最优雅的方式是使用Vertical Layout Group
- 使用
RectTransform
组件
- 装上添加一个新的空游戏物体画布下
- 设置所需的尺寸“垂直布局组”组件
- 在您的代码中,对于列表中的每个字符串:
- 创建一个新的游戏对象:
- 附加文本组件,将其
- 与您的字符串
- 设置的变换是在第1步
第一个空的游戏对象的父填写
text
属性
这里是一段代码我没有测试:
// Drag & Drop the vertical layout group here
public UnityEngine.UI.VerticalLayoutGroup verticalLayoutGroup ;
// ... In your function
RectTransform parent = verticalLayoutGroup.GetComponent<RectTransform>() ;
for(int index = 0 ; index < stringList.Count ; ++index)
{
GameObject g = new GameObject(stringList[index]) ;
UnityEngine.UI.Text t = g.AddComponent<UnityEngine.UI.Text>();
t.addComponent<RectTransform>().setParent(parent) ;
t.text = stringList[index] ;
}
如果您需要更多定制,您可以实例化预制件,而不是手动创建文本游戏对象。
也许你可以添加你的随行代码? –