Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Colisão Ator x Carro funciona, mas não como deveria!!!

Olá pessoal, tudo sussa? O que me traz aqui é o fato de eu ter observado um comportamento inesperado das colisões. São dois erros que me chamam a atenção, um sutil e um deveras gritante. O erro sutil é que, movendo o ator de baixo para cima, a colisão pode ocorrer antes da hora. Mesmo que a vaca esteja apenas com 1 pixel pra dentro da estrada, a colisão está sendo detectada. O erro gritante ocorre na mão contrária, quando movo o ator de cima para baixo, a detecção da colisão é falha, permitindo que eu entre com o ator quase até a metade dos carros. Obrigado. Eis o link: https://editor.p5js.org/mathias.bonuma/sketches/A-tK4YiKY

2 respostas
solução!

Opa, tudo bem? Isso acontece pois a vaquinha é uma imagem com altura e comprimento, então o x do ator acaba sendo definido pelo canto superior esquerdo, sendo este considerado seu centro, diferente do que ocorria com os circulos por exemplo, que o seu x ficava no centro dele. Para melhorar essa colisão eu coloquei da seguinte forma:

colisao = collideRectCircle(xCarros[i], yCarros[i], 50, 40, (xAtor + 15), (yAtor + 15), 20);

Assim você coloca o x e y do ator no seu centro nesta função, melhorando a colisão.

Excelente, corrigiu ambos os erros. Muito obrigado, Bruno.