Schnitt von zwei ImageViews?

E

Extremefall

Ambitioniertes Mitglied
3
Hallo,
ich versuche momentan, ein Spiel zu programmieren. Ich habe nun eine Figur, die ich steuere. Nun möchte ich eine Meldung erhalten, sobald die Figur gegen ein Hindernis läuft. Leider klappt es noch nicht. Momentan wird die Meldung auch schon angezeigt, wenn es sich nur in der gleichen Zeile befindet. Die Figuren berühren sich aber auch wirklich nicht.

Mein Code zur Überprüfung des Schnitts der beiden ImageViews:
Code:
  ImageView figur = (ImageView)findViewById(R.id.spieler);
				   ImageView wall = (ImageView)findViewById(R.id.wall);
				    Rect spieler = new Rect();
				    Rect hindernis = new Rect();

				    spieler.left = figur.getLeft();
				    spieler.top = figur.getTop();
				    spieler.bottom = figur.getBottom();
				    spieler.right = figur.getRight();
				    hindernis.left = wall.getLeft();
				    hindernis.top = wall.getTop();
				    hindernis.bottom = wall.getBottom();
				    hindernis.right = wall.getRight();
				   if (Rect.intersects(spieler, hindernis)){
Könntet ihr mir sagen, wo der Fehler liegt? Wieso wird es schon als Schnitt erkannt, wenn sich die Figur einfach auf gleicher Höhe befindet? Die beiden ImageViews haben übrigens die gleichen Größe und sind nur horizontal um x Einheiten auseinander.
 
hmm ich vermute mal deine imageview wird größer sein, als es sichtbar ist.

zeig mal deinen xml code.
 
  • Danke
Reaktionen: Extremefall
Der Hinweis war Gold wert. Vielen Dank. Ich habe das Objekt erst mittels Padding verschoben, anstatt margin zu verwenden. Dadurch wurde es natürlich größer. Jetzt klappt es auch wie gewünscht.
 

Ähnliche Themen

S
Antworten
17
Aufrufe
530
jogimuc
J
5
Antworten
22
Aufrufe
1.367
590239
5
M
Antworten
4
Aufrufe
1.148
swa00
swa00
Zurück
Oben Unten