Ich erstelle einen Plattformer und habe die Kollisionserkennung pro Pixel implementiert. Dies hat jedoch 2 Hindernisse verursacht, die ich noch nicht herausgefunden habe. Das erste Hindernis, um das es bei dieser Frage geht, ist, dass ich nicht weiß, wie ich den Aufprallpunkt effizient finden kann (mein anderes Problem wird wahrscheinlich eine andere Frage in diesem StackExchange sein).
Ich habe meinen Charakter mit einer bestimmten Geschwindigkeit in Pixel fallen oder springen lassen. Das heißt, in jedem Frame kann das Zeichen beispielsweise um 4 Pixel fallen oder um 4 Pixel springen. Wenn der Charakter fällt und ein Objekt schneidet, sollte der Charakter auf diesem Objekt landen (und umgekehrt, wenn er springt und ein Objekt trifft, sollte er wieder fallen). Wenn ein Zeichen beispielsweise zum Beispiel 4 Pixel fällt und dadurch 3 Pixel in ein Objekt eingefügt werden, hören sie auf zu fallen, befinden sich jedoch nicht an der richtigen Stelle. Das Zeichen sollte beim ersten Pixel des Aufpralls anzuhalten scheinen.
Wie kann ich den Aufprallpunkt effizient finden? Ich habe nur eine vage Idee, nur die Umrisspixel zu vergleichen, auf Kollision zu testen und sie um eins nach oben oder unten zu erhöhen, bis es zu einer Kollision kommt, aber es scheint kompliziert zu sein, sie abzubrechen.
Wenn Sie die Plattform kennenlernen möchten, entwickle ich mit XNA für Windows Phone 7.