Динамическое наложение элементов пользовательского интерфейса на холсте - PullRequest
0 голосов
/ 26 апреля 2020

Я создал несколько префабов компонентов пользовательского интерфейса (тексты с указанным c шрифтом, размером, группами переключателей и т. Д. c.), И я пытаюсь прочитать файл JSON, содержащий данные пользовательского интерфейса, которые я затем хотел бы добавить к холсту в соответствии с требуемым форматом.

    //sectionPreabs is a list that contains different UI components I've made
    GameObject prefab = Instantiate(sectionPrefabs[0]);
    //sectionContainer is a panel in the canvas
    prefab.transform.SetParent(sectionContainer.transform);
    //set the data to the prefab's text component
    prefab.GetComponent<TextMeshProUGUI>().text = section.text_content;

Например, если JSON говорит "type: heading", я бы добавил префаб текста заголовка, который я создал. Я уже написал скрипт, который добавляет эти компоненты к моему холсту. Однако при добавлении нескольких префабов друг к другу компоненты создаются в странных положениях на экране. Есть ли способ сложить их в список?

Мне также хотелось бы, чтобы этот список можно было прокручивать, чтобы все добавленные компоненты можно было просматривать по порядку.

Спасибо заранее!

enter image description here

1 Ответ

0 голосов
/ 27 апреля 2020

"Есть ли способ сложить их в список?"

https://docs.unity3d.com/Packages/com.unity.ugui@1.0 / manual / script-VerticalLayoutGroup. html

"Я бы хотел также нравится, что этот список можно прокручивать "

https://docs.unity3d.com/ScriptReference/UIElements.ScrollView.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...