ATV 16
- Marcos André
- 2 de jul. de 2016
- 1 min de leitura
"Considerando o conteúdo armazenado na matriz, fazer o
personagem trafegar somente pela grama
no mapa isométrico"

Para a realização da tarefa se faz necessária a checagem na matriz,caso o bloco exibido seja igual a 0,que no meu caso é a grama, o tile será trafegável. Qualquer outro valor representa um trecho inacessível para o ator.
Para a criação de um cenário mais complexo, utilizei duas matrizes: Uma, gera o mapa em si, enquanto a outra, cria os obstáculos, e detalhes complementares.
Um dos primeiros desafios para a realização da tarefa é manter armazenada a posição do ator em relação aos tiles. Para isso utilizei a variável posX e posY. Assim, caso a posição X em relação a matriz for menor que o limite do vetor(para que não ocorra um 'Array Index Out of Bounds Exception') e o valor na matriz de detalhes respectivo a posição posX e posY seja igual a 0, será permitida a movimentação do personagem.
Para descobrirmos a posição real X,Y em pixels para o ator, precisamos, assim como foi feito para os tiles, multiplicar o valor posX e posY por 100 e 80 respectivamente.Para que o personagem fique realmente no centro da tile, tive que adicionar um fator de correção de -30 para a posição real Y
Por,último, para realizar um movimentação fluída, utilizei um técnica de easing idêntica à que usei na ATV11 do jogo da nave, para que o personagem gradativamente atinja a sua posição final.
Segue código:
Comentarios