Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

attempt to call a nil value em funcaoDeColisao

Na aula 6 na parte :

function verificaColisaoComObjetos(personagem, novaPosicao)
 for indice, objeto in pairs(objetos) do
  if temColisao(novaPosicao, objeto) then
   local funcaoDeColisao = objeto.colisoes[personagem.tipo]
   return funcaoDeColisao(indice)
  end
 end
 return false
end

Meu codigo esta dando a mensagem de erro :attempt to call a nil value (local 'funcaoDeColisao ') ,quais podem ser as causas ?de onde mais ela esta pegando esse valor?

1 resposta

Bom Dia Luciano, tudo bom?

Provavelmente o erro está no objeto.colisoes[personagem.tipo]verifica se vc não esqueceu de colocar a propriedade colisoes dentro dos objetos. Ou ainda se o array colisões possui todos os tipos de personagem do jogo.