2016-12-02 2 views
0

Мне нужно создать базовый list view или scroll view в моей сцене в движке разработки игр Unity.Как создать основной список в единстве

  • Я только начинаю изучать Единство.
  • Я попытался создать list view без успеха.
  • У меня есть набор строк, которые мне нужно отобразить как list view или scroll view.
  • Под другим, я ввел строки в List<string>.

Теперь, что я делаю, задается строка для отображения непосредственно с новым символом линии, \n.

Я также попытался добавить строки к содержимому scroll view в единстве, но мне не удалось заставить его работать.

Может ли кто-нибудь указать ссылку?

+1

Возможно, вы можете добавить свой код? –

ответ

4

«самый легкий» и самый элегантный способ, которым я могу думать о том, использует Vertical Layout Group

  1. Добавить новый пустой GameObject под холст
  2. Установите требуемые размеры с помощью RectTransform компонента
  3. Прикрепление Группа «Вертикальная компоновка группы»
  4. В вашем коде для каждой строки в вашем списке:
    • Создать новую GameObject:
    • Attach компонент текста к нему
    • Заполните атрибут text с вашей строки
    • Установить родительский преобразования, чтобы быть первым пустым геймобжекты в 1-ом этапе

Вот кусок кода я не проверял:

// 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] ; 
} 

Если вам нужна дополнительная настройка, вы можете создать экземпляр prefab вместо того, чтобы вручную создавать текстовые игровые объекты.

Смежные вопросы