Ich ersuche natürlich keinen fertigen Quellcode (den würde ich so in mein Projekt eh nicht einbringen), sondern ein Konzept
genau das hab ich verstanden ;-]
Eine Lösung wäre zB für jeden Pixel einen Zeiger auf sein zugehöriges Objekt zu speichern und dann bei der Bewegung eines Objekts alle neu-belegten Pixel auf Durchlässigkeit zu überprüfen, aber das ist eher unschön, oder?
sehr unpracktisch, ja. Falls nichts geht kann man auf eine Änliche etwas schönere Loesung zuruckgreifen, bei jeder bewegung eines Objekts x, jedes andere Objekt abtasten und gucken ob sie nicht schon diese Pixel die Objekt x besetzen würde, nicht schon besetzt haben. Muss du keinen so grossen Speicher nehmen, dafur frisst es etwas mehr Leistung.
Nocmal zu geometrischen Figuren.. sehen deine Pixelbilder nicht irgentwie änlich zu z.B. Rechtecken? Es muss nicht unbedingt ein Rechteck oder Kreis sein, das Bild, was da rumfliegt. Aber falls es so auf die umbebung reagiert wie ein Rechteck oder Kreis, oder zumindest verdammt änlich, dannkann man geometrie nehmen. Kollision von Kreisen oder Rechtecken ist nicht weiter schwer.
Falls deine Objekte nicht wie Kreise oder Rechtecke aussehen, dann haben sie wohl viele Ecken und Zacken. Kollisionieren kannst du ja nur mit den am weitesten rausstehenden Ecken, also Speicher einfach fur jeden Objekt eine Array, wo du die am weitesten herausstehenden Ecken alle abspeicherst. Bei jeder bewegung von einem Objekt, guckt es ob nur die Pixel von anderen Objekten besetzt sind, die auf den Strecken die von den hervorstehenden Eckpunkten in bewegrichtung ausgehen mit der Länge des Bewegungschrittes.
Wie du das auch machst, Grundkonzept ist es, dass Jedes zu bewegende Objekt nach alle anderen Objekte durchgeht, und guckt ob diese ihm den Weg versperren. Dass frisst mehr Leistung als die von dir vorgeschlagene Variante, jedoch davon hat man mehr als vom Speicher.