2016-04-01 8 views
1

ich wissen muss, wenn die Rakete den Meteor getroffen, ist img2 der Meteor und img ist die RaketeKollisionserkennung zwischen zwei Bildern in Java

g.drawImage(img, posX - img.getWidth(this)/2, posY - img.getHeight(this), this); 
     g.drawImage(img2,posX1 - img2.getWidth(this), posY1 - img2.getHeight(this),this); 
     System.out.println(posY-img.getWidth(this)); 
     System.out.println(posY1); 
     } 
     public void colid(){ 
     if (posY1+img.getWidth(this)>= posY-img2.getWidth(this)){ 

      System.out.println("teste"); 
     } 
+0

Ist es ein Test oder eine teste? – DarkJade

+0

Bitte korrigieren Sie den Code, wie es steht, wird es nicht kompilieren (dort Zeilen oberhalb der ersten geschweiften Klammer fehlt?) – ochi

+0

dies nur ein Teil des Codes ist. Test – Giovanni

Antwort

0

Sie ein Rectangle für jedes Objekt wie eine Rakete erstellen oder meteor

und es gibt ein Rechteck Methode Sie

boolean intersects(Rectangle r) 
Determines whether or not this Rectangle and the specified Rectangle intersect. 

so können Sie überprüfen

verwenden können
if (rectangleA.intersects(rectangleB){ 
System.out.println("Colliosion!!") 
} 
0

 Rectangle r1 = new Rectangle(posX - img.getWidth(this)/2, posY - img.getHeight(this), img.getWidth(this), img.getHeight(this)); 
     Rectangle r2 = new Rectangle(posX1 - img2.getWidth(this), posY1 - img2.getHeight(this), img2.getWidth(this), img2.getHeight(this)); 

     boolean collision = r1.intersects(r2); 

Hinweis Dies sollte es tun: Sie sind die Breite mit 2 im ersten Bild und nicht die zweite Teilung. Vielleicht ist es so, wie es sein sollte, aber ich möchte es nur wissen lassen, wenn es nicht so ist.

+0

Er gab fast sicher, aber es war nur in der Mitte sogar die Bildposition zu ändern – Giovanni

Verwandte Themen