Estou criando um simples jogo Zelda-esque de cima para baixo no libgdx e quero implementar masmorras baseadas em blocos que são geradas proceduralmente, semelhante a isso.
O Libgdx possui uma classe chamada TiledMap que parece atender às minhas necessidades, mas a documentação fora dos documentos oficiais sugere que o TiledMaps pode ser usado apenas em conjunto com arquivos .tmx ou, por outras palavras, mapas pré-projetados. Eu fiz uma boa quantidade de pesquisas no Google sem sucesso, então estou perguntando aqui como último recurso, esperando que alguém tenha experiência com o libgdx para mapas de blocos gerados dinamicamente.
editar: Eu poderia usar StaticTiledMapTiles em conjunto com o tutorial ao qual vinculei acima para alcançar meu objetivo?
Obrigado!
Respostas:
Você pode criar mapas lado a lado sem usar .tmx.
fonte
.tmx
arquivo em libgdx github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/… . Obrigado.Com base nos conselhos de / r / gamedev , decidi renunciar ao uso das classes internas do TiledMap etc. da libgdx e apenas criar as minhas.
Posso entrar em mais detalhes, se solicitado, mas aqui está o que eu fiz, essencialmente.
1: Gere uma masmorra usando o algoritmo ao qual originalmente vinculei e armazene as coordenadas do bloco (não as cordas de pixel) usando uma
Coordinate
classe que fiz em aHashMap<Coord, MapTile>
.MapTile
é apenas uma classe que possui dados sobre o tipo de bloco.2: Na
draw()
função da minha classe principal, adicionei o seguinte códigoQue itera sobre todos
Coordinate
os elementosdungeonMap
e desenha o bloco (se a coordenada estiver no perfil da câmera) com umtileSize
deslocamento global .fonte