Primeiro escrevi o código seguindo as instruções do professor, vi que não funcionou então verifiquei todo o código e não achei diferença, mas mesmo assim resolvi copiar o código do professor, troquei tudo e ainda sim nada do ator andar. Tentei também trocar o código por um collideRectRect, já que a imagem da vaquinha não é um circulo, e nada também. Meu ator simplesmente não anda. Voltei tudo como estava e vou enviar pra vocês. Não consigo achar o erro.
Queria deixar uma observação: Eu comentei os códigos "verificaColisao()" e "colidiu()" para verificar se os erros estavam contidos aí, o ator se moveu, então deixei comentado somete o código "colidiu()" e o ator de moveu normalmente inclusive voltando a posição yAtor = 366, sem executar a função "colidiu()". Alguma explicação pra esse código estar causando o bug? E como meu ator esta voltando a posição 366 se meu código está comentado? Se eu volto ao normal e "descomento" o código o ator para de se mover novamente.
//código do ator
let xAtor = 100;
let yAtor = 366;
let colisao = false;
function mostraAtor(){
image(imagemDoAtor, xAtor, yAtor, 30, 30);
}
function movimentaAtor(){
if (keyIsDown(UP_ARROW)){
yAtor -= 3;
}
if (keyIsDown(DOWN_ARROW)){
yAtor += 3;
}
}
function verificaColisao(){
for (let i = 0; i < imagemCarros.length; i++){
colisao = collideRectCircle(xCarros[i], yCarros[i], comprimentoCarro, alturaCarro, xAtor, yAtor, 15)
if (colisao){
colidiu();
}
}
}
function colidiu(){
yAtor = 366;
}