Projeto SEMÁFORO

2938 palavras 12 páginas
Como funciona a colisão em Java?

Uma colisão ocorre quando dois objetos se encontram em algum ponto do plano cartesiano.
Existem três abordagens, com as suas vantagens e desvantagens, para a solução deste problema, que parecendo simples... rapidamente se torna bastante dificil.
1. Detecção de colisões por intersecção de rectângulos

Uma imagem ocupa sempre um espaço retangular, independentemente das suas áreas transparentes. Esta abordagem simplesmente verifica se os retângulos das duas sprites se encontram, não contando a sua área transparente. Isto leva a que colisões sejam detectadas mesmo quando apenas áreas transparentes das sprites intervenientes estejam colidindo.

É a abordagem mais fácil e rápida das três, e também a mais ineficaz.

2. Detecção de colisões por comparação de pixels

Basicamente aplica-se a primeira abordagem para detecção de possíveis colisões. Quando é detectada uma possível colisão verifica-se através de comparação pixel a pixel da informação das imagens na área intersectada. Se houver algum pixel em que ambas as imagens tenham informação não transparente é porque a colisão é real, e deve por isso ser tratada.

É a abordagem mais eficaz, no sentido que detecta colisões apenas quando elas realmente acontecem, mas também a mais lenta, visto que necessita de muito tempo e processamento.

3. Detecção de colisões por retângulo encolhido

Esta abordagem é bastante semelhante à primeira em implementação, mas tem resultados visuais muito superior. Em vez de criarmos um retângulo com as mesmas dimensões que a sprite, criamos apenas um à volta da área colidível. Isto faz com que em termos de velocidade seja praticamente igual à primeira abordagem, e em termos visuais não muito inferior à segunda.

Esta abordagem é um intermédio entre as duas já mencionadas. É mais rápida que a segunda abordagem, mas menos precisa, e mais lenta que a primeira abordagem, mas mais precisa.

Como colocar imagens

Carregando arquivos de

Relacionados

  • Problema dos babuinos
    2296 palavras | 10 páginas
  • kkkkkkkkkkkkkkkkkkkkkkkkk
    35477 palavras | 142 páginas
  • diario oficial
    75703 palavras | 303 páginas
  • diario
    20920 palavras | 84 páginas
  • Socrates E Jesus O Debate Peter Kreeft 1
    84567 palavras | 339 páginas
  • Meio ambiente
    318445 palavras | 1274 páginas