Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
16 / 16 / 13
Регистрация: 08.11.2014
Сообщений: 119
1

Unity3D. Не отображается контент в Scroll View на Android

08.04.2019, 20:23. Показов 1691. Ответов 9

0


Сделал сцену, где отображаются все уровни игры, для этого я сделал скрипт, где создаю список все сцен(уровней), которые заполняются через инспектор(https://prnt.sc/n96sy0).

Каждый элемент списка, это префаб, кнопка с текстом, текст - это название сцены. Используется стандартный Scroll View (https://unity3d.com/ru/learn/t... croll-view).

Проблема в том, что на андроиде не отображается список уровней, хотя в самом редакторе все норм. На 1 ом скрине, запущенная сцена.

Через Unity Remote все норм.

Вот скрин с телефона, там отображается только 1 дефолтный префаб - https://prnt.sc/n96x7k

Код, который запускается при загрузке сцены:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class ListScenes : MonoBehaviour
{
    public GameObject viewLevel; //Префаб, который отображается в content
    public List<Object> scenes; //Список сцен
    private GameObject content; //Объект, в который будут добавляться префабы
    void Start() {
        content = Helper.FindInChildren(gameObject, "Content");
 
        addScenesToList();
    }
 
    private void addScenesToList() {
        foreach (Object scene in scenes) {
            GameObject obj = Instantiate(viewLevel, content.transform); //Создаю префаб и кидаю его в content
            Helper.FindInChildren(obj, "Text").GetComponent<Text>().text = scene.name; //Ищу в своем префабе компонент Text и меняю текст на название сцені
            obj.GetComponent<Button>().onClick.AddListener(() => { SceneManager.LoadScene(scene.name, LoadSceneMode.Single); }); //Вешаю свой обработчик нажатия
        }
    }
}
Версия Unity последняя.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.04.2019, 20:23
Ответы с готовыми решениями:

Scroll view
вопрос элементарный. Вот я создал scroll view, заполнил его. (информация не помещается на экране...

Scroll View не скрывает объекты с материалом
Есть Scroll View,скидаю на него 2 абсолютно одинаковых объекта,не важно каких,одно отличие,на одном...

Scroll View+Vertical Layout Group
https://youtu.be/aXPG38a1hOU Как сделать чтобы при любом разрешении показывалась только 8-9...

Добавить scroll view в собственный вью
Я создал класс, наследуемый от вью, добавил его в разметку. Теперь я хочу программно при создании...

__________________

Записывайтесь на профессиональные курсы геймдизайнеров
9
488 / 285 / 128
Регистрация: 30.10.2018
Сообщений: 1,309
08.04.2019, 21:17 2
Цитата Сообщение от arper Посмотреть сообщение
public List<Object> scenes; //Список сцен
не делай так никогда.

Может даже причина в этом, но я в этом не уверен, у тебя в Build Settings все сцены выставлены? https://prnt.sc/n9849d
0
16 / 16 / 13
Регистрация: 08.11.2014
Сообщений: 119
08.04.2019, 21:21  [ТС] 3
public List<Object> scenes; //Список сцен
Почему так нельзя делать?
Я также делал обычным массивом Object[], но это не решало проблему

Да, сцены все есть https://prnt.sc/n98052
0
488 / 285 / 128
Регистрация: 30.10.2018
Сообщений: 1,309
08.04.2019, 21:24 4
Цитата Сообщение от arper Посмотреть сообщение
public List<Object> scenes; //Список сцен
Ну во первых, код становиться менее читабельным, т.к. все время будешь искать что и как делаеться, а во вторых, элементарно можешь случайно не тот объект туда поставить, и потом пол дня искать ошибку в коде.

Попробуй в логи зайти, может там что интересного найдешь.

Еще может быть такое, что у тебя там старый апкшник стоит, а новый со всеми сценами не хочет ставиться, но ты этого не замечаешь. Часто такое бывало.
0
16 / 16 / 13
Регистрация: 08.11.2014
Сообщений: 119
08.04.2019, 21:47  [ТС] 5
Продебажил через андроид студио, вот что выбило, при открытии списка

04-08 21:45:41.065 2042-2057/? E/Unity: NullReferenceException: Object reference not set to an instance of an object
at ListScenes.addScenesToList () [0x00047] in <a04446634c584113b3e2a6be1f1b33a9>:0
at ListScenes.Start () [0x00016] in <a04446634c584113b3e2a6be1f1b33a9>:0

(Filename: <a04446634c584113b3e2a6be1f1b33a9> Line: 0)

Но как список может быть пустым...

Не понимаю - "Еще может быть такое, что у тебя там старый апкшник стоит, а новый со всеми сценами не хочет ставиться, но ты этого не замечаешь. Часто такое бывало."
0
488 / 285 / 128
Регистрация: 30.10.2018
Сообщений: 1,309
08.04.2019, 21:52 6
Цитата Сообщение от arper Посмотреть сообщение
Не понимаю
Ты через Build and Run?
Если да то смотри консоль нет ли там ошибок.

Если нет, то как?

Цитата Сообщение от arper Посмотреть сообщение
Но как список может быть пустым..
Возможно таки дело в <Object>?

И стоп, может исключения вылетает из-за
Цитата Сообщение от arper Посмотреть сообщение
content = Helper.FindInChildren(gameObject, "Content");
Добавь его в инспекторе, предварительно сделав

C#
1
2
[SerializedField]
private GameObject content;
1
16 / 16 / 13
Регистрация: 08.11.2014
Сообщений: 119
08.04.2019, 21:54  [ТС] 7
Ну я собираю apk, кидаю на телефон и там устанавливаю (Build)
Ошибка из-за того, что scenes == null

content = Helper.FindInChildren(gameObject, "Content"); тут ни причем
0
488 / 285 / 128
Регистрация: 30.10.2018
Сообщений: 1,309
08.04.2019, 21:56 8
arper, Обновил ответ.
0
2066 / 1323 / 765
Регистрация: 26.10.2018
Сообщений: 3,836
08.04.2019, 22:09 9
Я конечно не уверен, но мне кажется для листа нужен экземпляр:
C#
1
public List<Object> scenes = new List<Object>();
0
488 / 285 / 128
Регистрация: 30.10.2018
Сообщений: 1,309
08.04.2019, 22:13 10
1max1, да, все и такое может быть, всегда по привычке пишу, но как-то странно, список в инспекторе заполняю, а в коде под него даже память не выделена.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.04.2019, 22:13

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Создание MMORPG (C#, Unity3d, Network View, PHP, MySQL)
Здравствуйте. Решил создать ММОРПГ игру. Присмотрелся к этим компонентам: Основное...

Android Listview Scroll
Здравствуйте, я написал код ведьма может загрузить JSON и шоу ListView (он работает идеально), но...

Не отображается контент
Есть код с подключением к базе данных и запросом на вывод информации из бд. Но вместо того что бы...

Не отображается контент на сайте
Всем доброго дня! На этом сайте при просмотре с пк больше половины контента не отображается. В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.