SFML C++ Строительство
решил сделать небольшую игру и я хочу сделать в ней строительство. Я использую тайл карту и я бы хотел узнать каким образом я могу осуществить строительство? Причем, оно должно выравниваться по тайлам (как по некой сетке). И как мне для этого нарисовать какое-то здание? Оно должно состоять из нескольких тайлов или можно нарисовать сплошное здание (одной картинкой)?
https://github.com/Cominta/pixeled-civil
На всякий, оставлю репозиторий со всем кодом
Ответы (1 шт):
У Вас есть функция TileMap::render, которая, как я понимаю, рисует тайлы на карте. Код, который "рисует" что то на карте, должен просто поменять содержимое нужных тайлов (в Вашем случае - текстуру - ...->sprite->setTexture(*this->texture);) и код отрисовки автоматически все отрисует.
То есть, "строительство" это просто изменение состояния тайла (или его спрайта). А код отрисовки уже сразу все отрисует.
Если здание занимает один тайл (одну клеточку), то тут все просто, если же тайл занимает несколько клеточек, то нужно просто подготовить несколько отдельных спрайтов с кусочками здания и правильно разместить. Да, тут возникает вопрос, а что делать, если два здания находятся рядом и "накладываются". Тут есть два варинта - либо просто отрисовывать поверх (то есть просто для одного здания будет использоваться только часть тайлов) либо просто не давать постоить так здания (очень популярная технология).