Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Meu jogo volta para o código ao enconstar na chave

Bom dia, eu acabei de fazer a parte 3 da aula 03 do curso Lua parte 1, e ao terminar esses 3 códigos abaixo quando eu ligo meu jogo eu consigo jogar, porém ao colidir com a chave ele fecha e volta para a tela de código, já procurei erros e não consegui encontrar nenhum, poderia me ajudar?

function fazColisaoDoJogador(indice)
    table.remove(objetos, indice)
end
function temColisao(objetoA, objetoB)

    local esquerdaDeB = objetoB.x - 8
    local direitaDeB = objetoB.x + 7
    local baixoDeB = objetoB.y + 7
    local cimaDeB = objetoB.y - 8

    local direitaDeA = objetoA.x + 7
    local esquerdaDeA = objetoA.x - 8
    local baixoDeA = objetoA.y + 7
    local cimaDeA = objetoA.y - 8

    if     esquerdaDeB > direitaDeA or
        direitaDeB < esquerdaDeA or
        baixoDeA < cimaDeB or
        cimaDeA > baixoDeB then
        return false
    end
    return true
end
function verificaColisaoComObjetos()
    for indice, objeto in pairs(objetos) do
        if temColisao(jogador, objeto) then
            fazColisaoDoJogadorComAChave(indice)
        end
    end
end

Encontrei o erro, estava no código function fazColisaoDoJogador(indice) estava faltando "ComAChave" como nesse código fazColisaoDoJogadorComAChave(indice)

2 respostas
solução!

No código postado está faltando function temColisao(objetoA, objetoB). Seria isso o problema?

Consegui Arrumar meu erro, muito obrigado!!!