Ситуация такая: пишу игру, на подобие match3, те 3 в ряд и ума не приложу как правильно сделать удаление ячейки и появление новых.
Сама игра в моем понимании создается примерно так:
Проблема в том, что не понимаю как сделать удаление по id и как заставить ячейки, которые выше сдвинуться на позицию вниз. Пытался сделать переприсвоением значений высших ячеек низшим используя массив всех объектов (ячеек), но получилось так, что внутри кода (внутри созданного массива gameobject) оно менялось, а вернуть это на игровую сцену не получилось.
В общем, у кого какие есть идеи по удалению, может кто-то раньше сталкивался и может что-то посоветовать. Работы пока не много проделал, так что могу начать заново, если найду толковый алгоритм.
код создания ячеек в родительском объекте
for (int i = 0; i<sellcount; i++) {
GameObject tmpSell = Instantiate (sellItem) as GameObject;
tmpSell.transform.SetParent (sellGroup, false);
}
Хранить массив ссылок на ячейки. (Ячейки лучше сразу в редакторе расставить )
Не удалять ячейки, а допустим менять им спрайты(смотря что у тебя).
Ячейка должна уметь возвратить тип "рубина" который в ней. И на основе этих данных и массива (из пункта 1) производить все расчеты и сдвиги.
ПС: вопрос абстрактный. Это и есть твоя работа, как программиста, находить решение таких проблем.
Продвижение своими сайтами как стратегия роста и независимости