Пытаюсь сделать 2D платформер на си с SDL2, остановился на создании уровня и проверке столкновений, в целом как это сделать понятно, я могу отрисовать один объект и заставить его сталкиваться с другим, но мне нужно рисовать большой уровень, и тут сложность.
Сначала был вопрос как, собственно, создать уровень, платформы, по которым будет бегать персонаж. Уровень у меня состоит из множества тайлов размером в 20x20 пикселей, я выбрал способ из гугла с двумерным массивом, в котором будет p и b, p - пусто, b - блок. Далее делается два цикла с проходом по каждому элементу массива, и если элемент равен b, то там рисуется блок, примерно так:
for (int y = 0; y < arrow_size; y++){
for (int x = 0; x < arrow_size; x++){
if(my_level[y][x] == 'b'){
SDL_Rect block_info = {(x * 20), (y * 20), 20, 20)
SDL_RenderCopy(render,block_texture, NULL, &block_info);
}
}
}
И вроде всё хорошо, но как детектировать столкновения в таком способе? Я не смог найти нормального ответа. Прошу помочь с этим способом или посоветовать другой, спасибо.