collideRectCircle Não está verificando dois carros, ele verifica a colisão apenas do primeiro carro! (não consegui colocar o vídeo)
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!
collideRectCircle Não está verificando dois carros, ele verifica a colisão apenas do primeiro carro! (não consegui colocar o vídeo)
Oi, Gustavo! Tudo bem?
O problema está ocorrendo pois no documento ator.js, dentro da função verificaColisao(), a estrutura condicional if (que confere se houve colisão e executa a função que retorna o ator para a posição inicial) não está sendo declarada dentro do for (que é usado para percorrer todos os carros presentes na lista imagemCarros), por isso a colisão está sendo aplicada apenas uma vez, para apenas um dos carros.
Para resolvermos o problema e a colisão funcionar para todos os carros, devemos colocar o if dentro do for para que ao percorrer cada um dos carrinhos a função condicional seja aplicada para cada um deles.
Dessa forma, a função verificaColisao() deve ficar da seguinte maneira:
function verificaColisao(){
//collideRectCircle(x1, y1, width1, height1, cx, cy, diameter)
for (let i = 0; i < imagemCarros.length; i = i + 1){
colisao = collideRectCircle(xCarros [i], yCarros [i], comprimentoCarro, alturaCarro, xAtor, yAtor, 15)
if (colisao){
colidiu();
}
}
}Espero ter ajudado! Caso tenha restado alguma dúvida, sinta-se a vontade em comunicar, estou à disposição!
Um forte abraço e bons estudos!