https://editor.p5js.org/allandecampossilva/sketches/pZZ0Hn2s4 aqui esta o link do projeto
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Bom dia Allan! Tudo bem com você?
Sua personagem não está andando devido à função colidiu() ter sido chamada dentro de draw(), no arquivo sketch.js.
Criamos a função colidiu com objetivo de fazer com que a vaquinha volte à posição inicial. Como queremos que isso aconteça apenas quando houver o contato com um carro, a função colidiu é chamada para execução dentro de verificaColisao(), assim:
function verificaColisao(){
for (let i = 0; i < imagemCarros.length; i++){
colisao = collideRectCircle(xCarros[i], yCarros[i], comprimentoCarro, alturaCarro, xAtor, yAtor, 15)
if (colisao){
colidiu()
}
}
}Nesse estrutura em que colidiu está dentro de uma condição if, apenas quando a condição for verdadeira, ou seja, quando a colisão acontecer, a vaquinha voltará ao local y determinado.
Como colidiu está dentro de draw, a função está sendo executada a todo momento. Então, sempre que a vaquinha se mover, o yvolta a ser 366 automaticamente.
Excluir a linha 14 no arquivo sketch.js fará com que a vaquinha possa se mover novamente.
Espero ter ajudado, Allan! Qualquer dúvida, estou a disposição.
Forte abraço.
Oi, Allan. Retire o "colidiu()" de dentro da função function "draw()"
muito obrigado !!!!!!!!