Monday, February 1, 2016

Atividade - Tileset

Durante foi proposto a criação de tileset, utilizando arquivos PGN, através do código em linguagem processing a seguir: 

PImage imgGrama, imgMuro, imgSombra;
int[][] mapa = { {0,0,0,0,0,0,0,0},
{0,1,1,1,1,1,2,0},
{0,1,0,0,0,1,2,0},
{0,1,0,0,0,1,2,0},
{0,1,0,0,0,1,2,0},
{0,1,0,0,0,1,2,0},
{0,1,0,0,0,1,2,0},
{0,0,0,0,0,0,0,0} };

void setup(){
  size(256,256);
  imgGrama = loadImage("grama.png");
  imgMuro = loadImage("muro.png");
  imgSombra = loadImage("sombra.png");
  for(int i=0; i<8; i++){
    for(int j=0; j<8; j++){
      switch(mapa[j][i]){
        case 0: image(imgGrama, i*32, j*32);
        break;
        case 1: image(imgMuro, i*32, j*32);
        break;
        case 2: image(imgSombra, i*32, j*32);
        break;
      }
    }
  }
}


O resultado obtido foi:

Atividade Proposta:

A atividade proposta para casa foi discutir a criação de um mapa a partir de um tileset isométrico. O procedimento é bem simples, consiste na substituição dos tilesets retangulares utilizados anteriormente, por tilesets em formatos de losango, a fim de representar um modelo 3D de uma forma menos complexa.

Exemplo:



Cada tile representado no mapa possui uma coordenada (X,Y) especifica, que vai ser definida nos loops de posicionamento de cada um. 


Portanto, nota-se que a posição dos tiles deve ser dada pelo centro, e não forma de costume. Pequenos detalhes nas coordenadas X e Y contribuem para uma criação melhor do mapa a partir da divisão por dois altura, multiplicada pela subtração dos indices X e Y.









No comments:

Post a Comment