Dê mais informações sobre o problema, qual o tipo de a, b, x e y?
Já debugou o programa para ver se os valores são realmente iguais?
ViniciusSouza
a,b e x,y sao inteiroos …
tipo,
tenho uma imagem com a posição (a,b),
e tenho uma outra com a posição (x,y),
iniciadas em locais diferentes do frame… Dei movimento as duas imagens e gostaria que quando elas estivessem na mesma posição o jogo parasse, ou seja quando uma bater na outra… (tipo um GaveOver);
ViniGodoy1 like
Você quer fazer um teste de colisão. Para isso, não basta apenas testar o x e y, mas também a altura e a largura da imagem.
A forma mais fácil de fazer um teste de colisão em Java é criar dois objetos do tipo Rectangle e testar se eles se interssecionam entre si:
Blz,
eu tinha feito dois objetos de ImageIcon e carreguei cada um em um Label,
teria como eu atribuir esse label ao “rectangle”?
Pq se nao tiver como será uma boa parte de meu codigoo embora,
pois jah fiz muita cooisa utilizando os labels.
Como movimentos, eventos, etc…
ViniGodoy
Com JLabel é mais fácil ainda. Basta chamar o getBounds() que já te retorna o retângulo direto.
if (label1.getBounds().intersects(label2.getBounds())) {
//colidiu
}
Apesar de que para jogos foi péssimo você ter usado os componentes do Swing. O ideal seria você ter desenhado usando Java 2D. Além de ocupar consideravelmente menos memória, é possível otimizar mais o o jogo e obter uma animação muito mais suave.
Isso com certeza vai servir,
vou colocar no codigo, e sei que era somente isso que estava faltando,
vou estudar mais sobre o 2d,
eh que esse periodo o prof tah dando swing, e ele quer que ultilize apenas o swing --’…
valeu pela ajuda amigoo, =D
ViniciusSouza
kkkkkkkkkkkkkkk
Coloquei,
mas agora quando rodo, ele jah abre direto a msg de game over e dá um Stop…
Como se ele tivesse considerando q as imagens jah estao se interseptando.
masnao era pra tah assim, pq as posições das imagens sao totalmente diferentes inicialmente…