Ola, preciso de ajuda, então, deu erro no código, quando o fiz, salvei, e dei run, quando vou andar para esquerda, não executa a animação de andar. Pode me ajudar ?
jogador = { sprite = 256, x = 120, y = 68, quadroDeAnimacao = 1 }
constantes = { LARGURA_DA_TELA = 240, ALTURA_DA_TELA = 138, } function temColisaoComMapa(ponto) blocoX = ponto.x /8 blocoY = ponto.y /8 blocoId = mget(blocoX, blocoY) if blocoId >= 128 then return true else return false end end
function TentaMoverPara (MeuDeslocamentoX, MeuDeslocamentoY) superiorEsquerdo = { x = jogador.x - 8 + MeuDeslocamentoX, y = jogador.y - 8 + MeuDeslocamentoY } superiorDireito = { x = jogador.x + 7 + MeuDeslocamentoX, y = jogador.y - 8 + MeuDeslocamentoY }
inferiorDireito = {
x = jogador.x +7 + MeuDeslocamentoX,
y = jogador.y +7 + MeuDeslocamentoY
}
inferiorEsquerdo = {
x = jogador.x -8 + MeuDeslocamentoX,
y = jogador.y +7 + MeuDeslocamentoY
}
if temColisaoComMapa(inferiorDireito) or
temColisaoComMapa(inferiorEsquerdo) or
temColisaoComMapa(superiorDireito) or
temColisaoComMapa(superiorEsquerdo) then
-- colisao
else
jogador.quadroDeAnimacao = jogador.quadroDeAnimacao + 0.1
if jogador.quadroDeAnimacao >= 3 then
jogador.quadroDeAnimacao = 1
end
jogador.y = jogador.y + MeuDeslocamentoY
jogador.x = jogador.x + MeuDeslocamentoX
end
end
function atualiza()
AnimacaoPersonagem = { {256, 258}, {260, 262}, {264, 266}, {268, 270} }
-- cima if btn(0) then jogador.sprite = AnimacaoPersonagem [1] [math.floor (jogador.quadroDeAnimacao)] TentaMoverPara(0, -1) end --baixo if btn(1) then jogador.sprite = AnimacaoPersonagem [2] [math.floor (jogador.quadroDeAnimacao)] TentaMoverPara(0, 1)end
--esquerda
if btn (2) then jogador.sprite = AnimacaoPersonagem [3] [math.floor (jogador.quadroDeAnimacao)] TentaMoverPara (-1, 0) end --direita if btn (3) then jogador.sprite = AnimacaoPersonagem [4] [math.floor (jogador.quadroDeAnimacao)] TentaMoverPara (1, 0) end end
function desenhamapa() map(0, --posicao x do mapa 0, --posicao y do mapa constantes.LARGURA_DA_TELA, --quanto desenhar x constantes.ALTURA_DA_TELA, --quanto desenhar y 0, --em qual ponto colocar o x 0) --em qual ponto colocar o yend function desenhajogador() spr(jogador.sprite, jogador.x - 8, jogador.y - 8, 0, -- cor de fundo 1, -- escala 0, -- espelhar 0, -- rotacionar 2, -- quantos blocos pra direita 2) -- quantos blocos para baixo end
function desenha() cls() desenhamapa() desenhajogador() end
function TIC() atualiza() desenha() end