Android Kollision zwischen 2 Bitmaps Prüfen?

bruce85

Bekanntes Mitglied
Hallo nochmal,
ich habe ein kleines Problem mit meinem Spiel, und zwar versuche ich die Kollision zwischen 2 Bitmaps hinzubekommen, leider weiss ich nicht wie ich das ambesten lösen kann.

Die Bilder sind mehr Rund als eckig, daher würde ich den Transparente teil ignorieren wollen und nur das was Sichtbar ist, zu Prüfen ob das Bild mit einer anderen Bild Kollidiert.

Gibt es in Java eine spezielle Methode dafür?

Ich danke euch schonmal für die Hilfe.

MfG
 
Zuletzt bearbeitet:

Lesa E. Feriw

Neues Mitglied
Hallo nochmal,
ich habe ein kleines Problem mit meinem Spiel, und zwar versuche ich die Kollision zwischen 2 Bitmaps hinzubekommen, leider weiss ich nicht wie ich das ambesten lösen kann.

Die Bilder sind mehr Rund als eckig, daher würde ich den Transparente teil ignorieren wollen und nur das was Sichtbar ist, zu Prüfen ob das Bild mit einer anderen Bild Kollidiert.

Was du möchtest, ist pixel-genaue Kollisionserkennung: Jedes Pixel des einen Objekts muss darauf untersucht werden, ob es sich mit irgendeinem Pixel des anderen Objekts die Koordinaten teilt. Das geht, ist aber meist sehr aufwendig, wenn man nicht diverse Optimierungen nutzen kann oder die Objekte sehr groß sind. Früher gab es für solche Probleme auch spezialisierte Hardware, die man zu Hilfe holen konnte.

Du kannst dich aber dieser "perfekten" Lösung annähern. Sind deine Objekte gleichgeformt, hilft dir eventuell eine passende Formel aus der Geometrie weiter. Am einfachsten geht das bei rechteckigen Flächen (siehe weiter unten). Ein weiteres Beispiel wären Kreisflächen.

Lassen sich die Umrisse deiner Objekte als Polygone beschreiben, kannst du dafür geeignete Algorithmen benutzen. Das lässt sich beliebig verkomplizieren um der Objekt-Form möglichst nahe zu kommen (einschließlich Objekten mit "Löchern").

Ein pragmatischerer Ansatz ist, die Fläche, die ein Objekt einnimmt, durch Zusammensetzen aus mehreren Rechteckflächen anzunähern. Dann benutzt man die Rechteck-Kollisionsmethode (mehrfach).

Gibt es in Java eine spezielle Methode dafür?

Ausschließlich für rechteckige Flächen, ja.
 

Lesa E. Feriw

Neues Mitglied
Als Ergänzung noch (weil mir das Editieren des Beitrages nach mehr als lächerlichen 60 Minuten verwehrt bleibt):

Es gibt auch eine fertige Methode für das Überprüfen von Polygonen auf Überlappungen mit Rechtecken.

Für "Nicht-Rechteck"-vs.-"Nicht-Rechteck" berechnet die intersect()-Methode eines Area-Objekts die zwischen beiden entstehende überlappende Fläche. Das dürfte aber rechenaufwendig sein. Musst du mal testen, ob es für deine Zwecke reicht.

Für Android gibts außerdem (mit Einschränkungen): Region.quickReject() und seine Verwandten.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Julius99 Android Distanz zwischen zwei Location Android & Cross-Platform Mobile Apps 12
U Telepräsenz zwischen Notebook und Roboter Android & Cross-Platform Mobile Apps 1
N Android Informationen zwischen Tabs austauschen Android & Cross-Platform Mobile Apps 2
M Android Kabellose Datenübertragung zwischen zwei Handys - Reichweiten Android & Cross-Platform Mobile Apps 3
? Android erstellen der grafischen Benutzeroberfläche und Kommunikation zwischen Apps Android & Cross-Platform Mobile Apps 8
K Android Datenaustausch zwischen zwei Fragments Android & Cross-Platform Mobile Apps 1
G Android Kommunikation zwischen den Activities Android & Cross-Platform Mobile Apps 1
R Android Datenaustausch zwischen PC und Handy Android & Cross-Platform Mobile Apps 3
S Android "Weiches wechseln" zwischen Views in einer Activity Android & Cross-Platform Mobile Apps 3
S Android Kommunikation zwischen UI -> Service -> Thread Android & Cross-Platform Mobile Apps 4
M Daten zwischen mehreren Activities Android & Cross-Platform Mobile Apps 2
M Daten zwischen Activities übergeben Android & Cross-Platform Mobile Apps 7
C Android Kommunikation zwischen Service und Activity Android & Cross-Platform Mobile Apps 8
S Android binäre Daten zwischen Android und einem Java-Server Android & Cross-Platform Mobile Apps 5
S Android Auf Funktionen zwischen Activitys zugreifen Android & Cross-Platform Mobile Apps 3
E Übergang zwischen 2 Activities Android & Cross-Platform Mobile Apps 1
G Bluetooth Verbindung zwischen Handy und PC Android & Cross-Platform Mobile Apps 5
T Unterschiede zwischen CrEme 4.1 und J9 6.1 Android & Cross-Platform Mobile Apps 3
O Bluetooth Verbindung zwischen 2 Handys Android & Cross-Platform Mobile Apps 5
T Diskrepanz zwischen SUN Toolkit und NOKIA 6610i Android & Cross-Platform Mobile Apps 3
D messages via xml zwischen server/clienthandy verschicken Android & Cross-Platform Mobile Apps 5
B Zufallszahlen zwischen 1 und 49 erstellen? aber wie? Android & Cross-Platform Mobile Apps 7
M Kollisionserkennung von Bitmaps Android & Cross-Platform Mobile Apps 2
L Android Kollisionserkennung bei rotierten Bitmaps bzw. Rects Android & Cross-Platform Mobile Apps 2
4 Android Kollisionen von 2 Bitmaps Android & Cross-Platform Mobile Apps 2

Ähnliche Java Themen

Neue Themen


Oben