Detecção de colisão eficiente
Galera, estou tentando fazer um sistema de colisões eficiente no canvas com javascript.
A forma mais básica seria adicionar todos os objetos em uma lista e sempre que o personagem se movesse, a lista seria varrida comparando a posição de cada objeto com a do personagem, levando em conta o espaço que os dois ocupam. Se algum objeto da lista se intersectar com o personagem, o tratamento de colisão seria realizado.
Mas percebemos que se tivermos um grande número de objetos no cenário. Este não seria uma forma inteligente de se fazer a coisa. Pois a busca de todos os objetos da lista incluindo a comparação realizada seriam muito custos.
Eu gostaria de verificar sempre se à um outro elemento na área do personagem sem ter que varrer todos os elementos da tela. Algo semelhante ao onmouseover, mas para elementos.
Alguém conheceria alguma (se possível, a melhor) forma de se fazer isso?
Grato desde já....
Discussão (5)
Carregando comentários...