Position erkennen und überlappungen feststellen

Extremefall

Bekanntes Mitglied
Hallo,
ich arbeite an einem kleinen Programm. Nun habe ich es soweit geschafft, dass mittels KeyListener eine Spielfigur zu bewegen. Diese soll dann z.B. etwas aufsammeln, also wenn die Koordinaten übereinstimmen, soll etwas passieren. Wie bekomme ich es hin, die aktuelle Position eines Bildes zu bekommen? Es handelt sich um ein BufferedImage das mit Hilfe der Methode paintComponent erstellt wurde.

Wie kann ich es machen, dass etwas passiert, wenn Bild a auf Bild b trifft? Gibt es dafür Methoden oder wie lautet der Denkansatz?
 
Du solltest die Position nicht anhand deines Bildes festmachen. Bastel die ne geeignete Datenstruktur die dir alle Daten vorhält (also auch die aktuelle Position deiner Figur). Basierend dadrauf wird dann dein Bild gemalt.
In deinem KeyListener änderst kannst du dann in der Datenstruktur die Posi der Figur ändern und lässt das Bild neuzeichnen. so weißt du immer genau wo sich deine Figur befindet.
 
Nun habe ich das Problem,dass das eine Bild sich bei der weiteren Bewegen wieder zeichnet. Wie kann ich sagen, dass beim Erreichen einer Koordinate das Bild g.drawimage... aus der PaintComponent methode entfernt wird? Denn sonst repainted sich das Bild ja immer.#


Edit: Habe es gelöst über ein Boolean Datenfeld.

Danke
 
Zuletzt bearbeitet:

Zurück
Oben