Java Android Programierung Bitmap collision

...komplette Frage anzeigen

1 Antwort

Um eine Pixelkollision wirst du wohl nicht drum herum kommen wenn du komplexe Sprites hast. Das ganze kann man natürlich noch etwas optimieren.

Liegen die Sprites überhaupt übereinander?

Falls ja wird das Rechteck berechnet auf dem sich die beiden Sprites überlappen

Nun wird in diesem Rechteck jeder Pixel der beiden Sprites überprüft ob dieser durchsichtig ist. Wenn beide Pixel an einer Position nicht durchsichtig -> Es gibt eine Kollision.

Code findest du hier im 2. Post: http://stackoverflow.com/questions/5914911/pixel-perfect-collision-detection-android

Ok. Vielen Dank ich versuche es mal ! :)

Wen es nicht funktioniert frage ich noch mal nach

0
@Rouder

also ich habe das gefunden:

public Rect getBounds(){

return new Rect(x, y, x+width, y+height);

}

Public void checkCollision(){

Rect mySprite = this.getBounds();

Rect myCollisionObject = example.getBounds();

if(mySprite.intersect(myCollisionObject)){

//Todo code here

} }

Bei mir klappt dies aber nicht, weil er bei dem wo jetzt examole.getBounds(); steht immer sagt, dass getBounds nicht bei Bitmaps geht... wie kann ich dies beheben?

0

Was möchtest Du wissen?