0
respostas

erro ao iniciar ''nil value''

[string "-- title: fuga das combras..."]:20: attempt to index a nil value (local 'ponto')

da esse erro toda vez que tento dar ''run'' no jogo. aqui está meu código.

-- title: fuga das combras -- author: jeferson silva -- desc: rpd de acao 2d -- script: lua

jogador = { sprite = 256, x = 120, y = 68, corDeFundo = 2, 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 } end

-- ...

if temColisaoComMapa(inferiorDireito) or temColisaoComMapa(inferiorEsquerdo) or temColisaoComMapa(superiorDireito) or temColisaoComMapa(superiorEsquerdo) then -- colisao

else jogador.quadroDeAnimacao = jogador.quadroDeAnimacao + 0.2 if jogador.quadroDeAnimacao == 3 then jogador.quadroDeAnimacao = 1 end jogador.y = jogador.y + meuDeslocamentoY jogador.x = jogador.x + meuDeslocamentoX end

function atualiza() AnimacaoJogador = { 256, 260, 264, 268 }

-- cima if btn(0) then jogador.sprite = AnimacoesPersonagem[1] [math.floor(jogador.quadroDeAnimacao)] tentaMoverPara(0, -1) end -- baixo if btn(1) then jogador.sprite = AnimacoesPersonagem[2] [math.floor(jogador.quadroDeAnimacao)] tentaMoverPara(0, 1) end -- esquerda if btn(2) then jogador.sprite = AnimacoesPersonagem[3] [math.floor(jogador.quadroDeAnimacao)] tentaMoverPara(-1, 0) end end -- direita if btn(3) then jogador.sprite = AnimacoesPersonagem[4] [math.floor(jogador.quadroDeAnimacao)] tentaMoverPara(1, 0) end

function desenhaMapa() map(0, -- posicao x no mapa 0, -- posicao y no mapa constantes.LARGURA_DA_TELA, -- quanto desenhar o x constantes.LARGURA_DA_TELA, -- quanto desenhar o y 0, -- em qual ponto colocar o x 0) -- em qual ponto colocar o y end

function desenhaJogador() spr(jogador.sprite, jogador.x - 8, jogador.y - 8, jogador.corDeFundo, 1, -- escala 0, -- espelhar 0, -- rotacionar 2, -- quantos blocos para direita 2) -- quantos blocos para baixo end

function desenha() cls() desenhaMapa() desenhaJogador()

end

function TIC() atualiza() desenha()

end