Создание слишком большого количества префабов в игре делает его медленным - PullRequest
0 голосов
/ 03 апреля 2020

Так что для моего проекта мне нужно создать один единственный сборный дом точно 921 раз. Все созданные экземпляры префабов в конечном итоге превратились бы в вертикальные прокрутки, поэтому использование могло бы go проходить через них. Проблема в том, что это сделает игру крайне медленной. Как я могу закодировать его так, чтобы сначала создавались только 10 префабов, а остальные создавались только в том случае, если пользователь уже прокрутил страницу до конца экрана?

1 Ответ

1 голос
/ 04 апреля 2020

Да, добавление 921 объекта в пользовательский интерфейс ScrollView обычно не является хорошим планом.

Однако, как вы и предлагали, есть способ решить эту проблему. Я бы предложил посмотреть документацию по ScrollView (прикреплено здесь ). Свойство с именем scrollOffset возвращает Vector2 текущей позиции прокрутки. Так как у вас есть вертикальная ScrollView, полученная величина этого значения будет означать, «как далеко» пользователь прокрутил.

Предположим, что каждый элемент в вашем списке имеет произвольную высоту 50 (просто выбрасывая примерное число здесь ). Создайте свои 10 элементов списка, и каждый раз, когда значение scrollOffset увеличивается на 50, вызывайте метод для создания другого элемента списка.

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