А что тут такого особенного? Мы создаем некий класс Map, который хранит в себе:
- Текстуру (или айди текстуры, я не помню уже, как там устроено в libgdx, или же ты её при создании объекта назначаешь)
- Массив, содержащий вот эти кнопочки, при нажатии на которых игрок попадает на новый уровень). Эти кнопочки расставляются автоматический на основе ранее заготовленных данных. Эти данные - обычный массив, содержащий информацию о номере уровня(ну или названия, как тебе удобнее), на которой игрок перейдет, а так же хранящий координаты расположения этой кнопки на текстуре (эти данные ты можешь в каком-то конфиге хранить удобного для тебя формата, json на пример, и при запуске игры их парсить)
Ничего такого сложного нет... С первого взгляда может показаться тебе громоздким, но по сути нет.