Eu havia tentado usar o rotate, rotateY também. Mas não consegui ajeitar de jeito nenhum.
Sei que seria mais fácil alterar a imagem manualmente e fazer o upload de mais imagens. Mas, por orgulho, voltei a tentar ver outra forma... não é possível que não exista um meio, já que se você pode mover imagens livremente, você pode manipular etc.
Eu vou dar por encerrado este projeto, mesmo que o produto final não esteja perfeito kkkkkkkkkkkk
Mas consegui algo próximo do que queria com a função "scale". Eu apenas pensei "se o scale altera a escala da figura, se eu usar uma escala negativa, ele vai inverter a imagem!".... e não é que funcionou? Mas tive que ajeitar também parâmetros do movimento e acaba havendo uma leve distorção ao reiniciar a posição dos carros, mas ficou "aceitável".
No arquivo principal, eu chamei da seguinte forma no draw:
function draw() {
background(imagemEstrada);
ator();
mostraCarro(1);
movimentaCarro();
atorAtravessou();
atorColidiu();
placarTravessias();
placarPontos();
placarColisao();
scale(-1,1);
mostraCarro(2);
}
Eu separei a função "mostraCarro" usando parametro, para o "scale" afetar a função posterior apenas.
Já o meu .js que trabalha com os carros, ficou assim após adequar os carros da pista 2 (pista de baixo) para as escalas negativas em X:
let xCarros = [400,600,200,-550,-300,-400];
let yCarros = [40,96,150, 210, 263, 318];
let velocidadeCarros = [2,4,5,3,4,2];
let comprimentoCarros = 50;
let larguraCarros = 40;
function mostraCarro(pista){
if (pista = 1){
for(i = 0; i < imagemCarros.length/2; i++){
image(imagemCarros[i], xCarros[i], yCarros[i], comprimentoCarros, larguraCarros);
}
}
if (pista = 2) {
for(i = imagemCarros.length/2; i < imagemCarros.length; i++){
image(imagemCarros[i], xCarros[i], yCarros[i], comprimentoCarros, larguraCarros);
}
}
}
function movimentaCarro(){
for(i = 0; i < xCarros.length; i++){
if(i<3){
xCarros[i] -= velocidadeCarros[i];
if(xCarros[i] < -15){
xCarros[i] = 700;
}
}
else{
xCarros[i] -= velocidadeCarros[i];
if(xCarros[i] < -800){
xCarros[i] = 0;
}
}
}
}
Como ficou a imagem: