Лучший способ реализовать 2D-сеточную системуC#

Место общения программистов C#
Anonymous
Лучший способ реализовать 2D-сеточную систему

Сообщение Anonymous »

Я хочу создать сетку для 2D-игры. Шестиугольные или квадратные плитки не должны иметь значения для игры в жанре Tower Defense, где вместо башен движутся юниты. Должны быть разные типы местности. Некоторые юниты могут находиться только в X и не могут проходить через Y. Мне также нужно добавить логику к плиткам, специальную плитку, чтобы дать дополнительную дальность атаки юнитам над ней. Игра также должна обеспечивать привязку элементов к центру плиток, а также подсвечивать плитки при наведении курсора, перемещении/атаке.
Изображение

Изображение

Я могу создавать префабы для типов плиток, добавлять свойства и логику и создавать класс сетки, который создает экземпляр каждой плитки. Но как мне разработать и внедрить различные дизайны уровней? Я могу сделать это вручную, экспортировать это в JSON и попросить класс сетки выбрать, какая плитка и где будет создана, на основе информации JSON. Как мне это реализовать? Это был бы абсурдный объем работы. Является ли игровой объект для каждой плитки хорошей идеей для повышения производительности?
Как преобразовать положение мыши в эквивалентную плитку? Для квадратов это легко. Сетка разворачивается только при запуске игры, это плохо? Тайловые карты решают все проблемы, но также лишают префабы мощности. У меня нет никакой логики с плитками, и они не могут хранить свойства. Готовые кисти, пользовательские классы, унаследованные от плитки, и карта плиток для каждого типа плитки кажутся неуместными и подходят только для самых простых вещей.

Подробнее здесь: https://stackoverflow.com/questions/617 ... rid-system

Вернуться в «C#»