Среда, 13 Ноября 2024, 11:20

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Как создать пул объектов для 2D игры
DackCrДата: Вторник, 31 Августа 2021, 17:22 | Сообщение # 1
уже был
Сейчас нет на сайте
Решил создать обычный платформер, где на тебя падают объекты, а ты должен от них уклоняться. В итоге у меня получилось написать скрипт, заставляющий объекты рандомно появляться сверху камеры и падать вниз до определенной координаты после уничтожаясь, при этом постепенно набирая скорость и численность объектов. Но, только как мне кажется, такой метод постоянного спавна и удаления объектов не совсем правильный. И тут я унал о неплохой альтернативе под названием пул объектов. Много рыскал в интернете на эту тему, но по итогу у меня так ничего и не получилось. Спустя несколько дней мучений, я в отчаянии и тупике, даже не знаю что делать. Уже думал забить на это, но думаю более слабые телефоны такой ускоряющийся цикл спавна и удаления объектов скорее всего не потянут. В общем, я не знаю как мне правильно написать такой скрипт и возможно ли вообще его применить к моей 2D игре, соблюдая все вышеперечисленные условия(рандомный спавн, постепенный набор скорости и численности объектов). Кто разбирается в этой теме и хорошо знаком с пулом объектов, помогите пожалуйста в его написании, буду очень сильно благодарен.
drcrackДата: Вторник, 31 Августа 2021, 22:01 | Сообщение # 2
старожил
Сейчас нет на сайте
так же как и 3д
https://learn.unity.com/tutorial/introduction-to-object-pooling
GWÁLÐДата: Суббота, 25 Декабря 2021, 16:30 | Сообщение # 3
был не раз
Сейчас нет на сайте
Способов написать пул довольно много и все очевидные. Ты можешь использовать List например и в него добавлять уничтоженный объект. Уничтоженный объект выключать на сцене, вместо удаления.

Затем делать проверку, если в листе есть отключенный объект, брать его от туда, включать и вызывать что-то вроде Reset, в котором ты напишешь как именно он должен "вернуться". По той же логике можешь добавить Dispose у объекта, чтобы когда он умирал, он выключался, всё ставилось на 0 и т.п.

Когда берёшь объект из листа (или очереди Queue например) удаляешь его от туда при включении обратно в сцену.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг