Como verificar de qual lado do meu retângulo o intersects foi ativado?

5 respostas Resolvido
javaprogramação
N
entity.solidArea.intersects(target[i].solidArea)

Como posso verificar de qual direção o meu retângulo colidiu com um outro retangulo por meio da função intersects?

5 Respostas

S

Através do método intersects não tem como, ele só retorna true ou false.
Mas você pode escrever seu próprio intersects para retornar um objeto com mais informações.

N

E como eu poderia fazer isto?

S
Solucao aceita

Da uma estudada em geometria e algoritmos de seleção e colisão.

De repente se baseia na própria implementação do intersects.

Mas o que você quer fazer não é trivial, por exemplo dois retângulos podem se interseccionar em mais de um lado ao mesmo tempo.

Ou se forem dois retângulos de mesma medida exatamente um sobre o outro, os 4 lados estarão interseccionados ao mesmo tempo.

O que exatamente você pretende fazer?
Qual é o problema que precisa resolver?

N

Para o movimento de um retangulo de acordo com o lado da colisão, por exemplo para um retangulo quando ele colidir pelos lados porém ele ainda pode se mover para cima, espero que tenha compreendido.

S

O caminho é esse: geometria e algoritmos de colisão.

Criado 19 de setembro de 2022
Ultima resposta 20 de set. de 2022
Respostas 5
Participantes 2