Oi, Victor! Tudo bom?
Esse problema está ocorrendo porque você definiu wCarros e hCarros como listas, mas as utiliza como se fossem variáveis comuns ao passá-las como parâmetro da função collideRectCircle(), presente em verificaColisao().
Como wCarros e hCarros possuem, cada uma, um único valor (50 e 40), podemos indicar na função collideRectCircle() que desejamos utilizar apenas o índice zero ([0]) de ambas as listas, deste modo:
function verificaColisao(){
for (let i = 0; i < imagemCarros.length; i++){
colisao = collideRectCircle(xCarros[i], yCarros[i], wCarros[0], hCarros[0], xAtor, yAtor, 15)
if (colisao){
colidiu();
}
}
}
Victor, espero ter ajudado! Qualquer dúvida, fico à disposição.
Abraços.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!