Apenas curioso sobre o que pode ser uma boa maneira de implementar um sistema de colisão decente. Como uma classe herdada por uma classe de entidade base? Atualmente, estou preso e poderia apenas usar algumas idéias melhores do que as minhas.
Qualquer ajuda é apreciada!
Edit: Desculpe, é 2D Collisioning, mas honestamente, não estou procurando métodos de colisão específicos. Eu estou olhando mais sobre as linhas de implementação. Apenas curioso sobre alguns dos métodos comuns de como implementar sistemas de colisão, como:
Todo o sistema de colisão deve ser de sua própria classe? O que, se houver, deve ser herdável?
Estas são algumas das minhas perguntas. Desculpe pela confusão.
Respostas:
Cada vez que pergunto sobre sistemas de colisão, as discussões (on-line) são assim:
Então, depois de várias discussões como essa, finalmente comprei o livro: http://realtimecollisiondetection.net/
Ele apresenta todos os aspectos do assunto para informá-lo o suficiente para permitir que você decida o que fazer para cada caso.
fonte
Esta é uma questão de abordagem de design, portanto, não existe uma solução ideal.
Uma abordagem possível seria criar uma superclasse para objetos colidíveis, que define funções para a detecção de colisões e tem todas as classes de objetos colidíveis herdadas dessa classe.
O funcionamento dessas funções depende de outros parâmetros, como o tipo de detecção de colisão (caixa delimitadora, círculo delimitador, polígono delimitador, por pixel, ...).
fonte