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:
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.
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)){