Olá pessoal. Eu concluí a etapa das animações e da colisão do ator com os carros do cenário. Porém, tenho uma dúvida em relação aos parâmetros utilizados para o diâmetro do ator e sua relação com a ação de colisão. Quando uso um número "x", dentro da função CollideRectCircle() que o instrutor usou, para indicar a área de impacto entre carro e ator, ocorre que na parte superior do personagem a colisão ocorre logo que a borda do carro entra em contato, mas para a parte inferior do ator (quando ele já passa o carro), parte dele é "comida" pelo veículo e ele não retorna à posição inicial. Nesse caso a colisão não é identificada.
![Colisão da parte superior do personagem](C:\Users\Jeanderson\Videos\Desktop\video 1.mp4)
![Colisão da parte inferior do personagem](C:\Users\Jeanderson\Videos\Desktop\video 2.mp4)
Segue o bloco de código utilizado:
//Código do Ator
let xAtor = 235;
let yAtor = 560;
let colisao = false;
function mostraAtor(){
image(Ator, xAtor, yAtor, 40, 40);
}
function movimentaAtor(){
if(keyIsDown(UP_ARROW)){
yAtor -= 3;
}
if(keyIsDown(DOWN_ARROW)){
yAtor += 3;
}
}
function verificaColisao(){
for (let i = 0; i < Carros.length; i += 1){
colisao = collideRectCircle(xCarros[i], yCarros[i], comprimentoCarros, alturaCarros, xAtor, yAtor, 0);
if (colisao){
yAtor = 565
}
}
}
Agradeço desde já a quem puder ajudar.