1
resposta

[Dúvida] Como criar a colisão sem usar o P5.collide2d?

Como criar a colisão sem usar o P5.collide2d?

1 resposta

Olá. Só me vem na cabeça você validar na unha se as coordenadas e dimensões de cada objeto se interceptam. O conceito de hitbox que ouvimos falar em muitos jogos.

Levando em consideração que o hitbox de elementos em 2d são definidos conforme sua posição no plano cartesiano (x e y) mais a sua altura e largura.

Com isso, falando resumidamente, você teria que validar cada cenário possível de colisão, dadas duas hitbox. Segue exemplo de um cenário:

  • Canto superior esquerdo do hitboxA (x, y) colide com o hitboxB

(hitboxA.x > hitboxB.x && hitboxA.x < hitboxB.x + hitboxB.largura && hitboxA.y > hitboxB.y && hitboxA.y < hitboxB.y + hitboxB.altura)

exemplo de colisão de hitbox

Toda a condição do exemplo sendo verdadeira, é validado que o canto superior esquerdo do hitboxA colidiu com o hitboxB. Aí é só montar as respectivas lógicas para os outros cantos do hitboxA.