Eu revisei diversos detalhes no código, desde o sketch até o script do HTML, mas a colisão entre o Ator e os Carros não acontece.
//Código dos Carros
//Variáveis dos Carros
let xCarros = [600 , 600 , 600];
let yCarros = [40 , 95 , 150];
let velocidadeCarros = [2 , 3 , 4];
//Função que exibe os carros
function mostraCarros(){
for(let i = 0; i < imagensDosCarros.length ; i = i + 1){
image(imagensDosCarros[i], xCarros[i] , yCarros[i] , 50 , 40);
}
}
//Função do movimento dos carros
function movimentaCarros(){
for(let i = 0; i < imagensDosCarros.length ; i = i + 1){
xCarros[i] = xCarros[i] - velocidadeCarros[i];
}
}
//Função que retorna a posição
function voltaPosicaoDosCarros(){
for(let i = 0; i < imagensDosCarros.length ; i = i + 1){
if(passouTodaATela(xCarros[i])){
xCarros[i] = 600;
}
}
}
function passouTodaATela(xCarro){
return xCarro < -50;
}
//Código do Ator
//Variáveis do Ator
let xAtor = 100;
let yAtor = 366;
let colisao = false;
let alturaCarros = 40;
let comprimentoCarros = 50;
//Função que exibe o Ator
function mostraAtor(){
image(imagemDoAtor, xAtor , yAtor , 30 , 30);
}
//Função do movimento do Ator
function movimentaAtor(){
if(keyIsDown (UP_ARROW)){
yAtor = yAtor - 2;
}
if(keyIsDown (DOWN_ARROW)){
yAtor = yAtor + 2;
}
if(keyIsDown (LEFT_ARROW)){
xAtor = xAtor - 2;
}
if(keyIsDown (RIGHT_ARROW)){
xAtor = xAtor + 2;
}
}
//Função que verifica a colisão entre o Ator e um Carro
function verificaColisao(){
for( let i = 0 ; i < imagensDosCarros.length; i = i + 1){
colisao = collidePointRect(xCarros[i], yCarros[i] , xAtor , yAtor , comprimentoCarros , alturaCarros , 30);
}
if(colisao){
print("colidiu");
}
}