Como testar se imagens de sprites colidiram em um jogo
6 respostas
D
Danyel_Mendes
Bom dia pessoal.
Estou desenvolvendo um jogo com java e swing e preciso adicionar blocos na tela do jogo, de forma que o sprite principal do jogo não consiga passar por cima dos blocos. Neste caso, ao bater em um bloco o personagem não consegue avançar. Da mesma forma, preciso testar se um sprite colidiu com outro.
Estou trabalhando somente com JFrame, e imageIcons. Os sprites e os blocos são todos imageIcons. Será que funciona mesmo assim com o método intersects, que não estou utilizando nenhum objeto da classe retangle? Valeu.
erickzanardo
Danyel,
Mesmo você trabalhando com imageIcons, eu imagino que vocês tenhas as coordenadas, largura e a altura destes elementos certo?
Caso sim, basta você criar instâncias da classe Rectangle com esses valores de cada elemento e realizar a comparação.
Uma boa idéia seria encapsular o Rectangle e os imageIcons em classes, para evitar ficar criando várias instancias de Rectangle.
Espero ter sido claro =)
[]s
D
Danyel_Mendes
Ok. Vou tentar desenvolver. Logo te mando um feedback.
Valeu.
E
elissonandrade
Só tem que ter cuidado com algumas coisas, se for a ponta de uma nave arredontada por exemplo, aí pode gera uma colisão sem que realmente o objeto tenha colidido visualmente.
Marky.Vasconcelos
Inves de ImageIcons, voce pode desenhar diretamente em um componente o jogo inteiro, e fazer colisoes a partir de retangulos.
De uma olhada na parte de Java no PontoV que pode te ajudar.