Como armazenar o mapa em mosaico 2D

7

Eu quero criar um mapa 2D composto de pequenos blocos, que devem se parecer com voxels (por exemplo, isso apenas do lado).

Acho que posso criar uma estrutura como o Voxel2D, que possui int X, Y e alguma cor, e todo Voxel2D terá 5x5 pixels (então multiplique X e Y por 5 ao desenhar).

Mas agora como devo armazenar o mapa inteiro? Em uma matriz 2D como o clássico Tile-map, ou existe alguma maneira mais rápida?

davidv
fonte
6
Voxels em 2D? .. Sabe, eles são chamados de pixels.
Nevermind
Sim, eu sei, mas eu queria descrever o estilo gráfico que quero alcançar e, quando você vê esse vídeo (e espero que seja construído a partir de voxels), eles não são de 1 x 1 x 1 pixel, mas um pouco maiores.
Davidv
11
Blocos 2D maiores que pixels são chamados de blocos.
Aaaaaaaaaaaa
Eu acho que ele quer dizer uma visão isométrica 2D com alturas (como Snake Rattle n Roll ou Marble Madness ) #
BlueRaja # Danny Pflughoeft

Respostas:

3

Você não chamaria isso de voxels quando é 2D, é apenas baseado em blocos. O armazenamento de matriz deve ser o que você está procurando.

Edit: Eu não posso deixar de me perguntar se há mais na sua pergunta do que eu li, e eu realmente não entendo por que você escolhe um jogo em 3D para explicar sua ideia. Você só quer ter certeza de que está trabalhando na direção certa ou há algo que você não sabe implementar?

aaaaaaaaaaaa
fonte
Como o eBusiness diz, uma matriz é sua melhor aposta, mas você pode considerar dividir seu mapa em partes menores (por exemplo, uma parte por tela) e carregar apenas cada parte quando essa área precisar ser desenhada na tela. Isso é mais compatível com a memória quando se lida com mapas grandes e cargas de atributos por bloco.
Ghost
0

Você também pode empregar 2 matrizes em vez de uma, com uma como uma matriz de mapa contendo "blocos" e uma é uma matriz de blocos contendo pixols predefinidos (5x5 ou menos). Quando necessário, você ainda pode modificar esses pixols, mas precisa criar um novo matriz de ladrilhos em vez de uma predefinida.

O bom disso é que os não modificados podem ser predefinidos como blocos de imagens até serem divididos.

Observe, porém, que o pior cenário é o mesmo que ter apenas uma matriz cheia de pixols.

adrix89
fonte