Wie ist in Pygame eine Kollision aufgebaut ?

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
N4SONIC
User
Beiträge: 32
Registriert: Sonntag 28. Dezember 2014, 15:46

Hallo,

Ich brauche Hilfe ich verstehe einfach nicht wie so eine Kollision abläuft und wie sie aufgebaut ist kann mir jemand helfen ? :/
BlackJack

@N4SONIC: Kannst Du die Frage etwas genauer ausführen? Kollisionen sind nicht „aufgebaut”. Wie eine Kollisionserkennung abläuft und was ”Kollision” überhaupt konkret bedeutet liegt beim Programmierer. Das muss man selber ausprogrammieren. Unterstützung gibt es in Form von Methoden auf `Rect`-Objekten und als Funktionen im `pygame.sprite`-Modul.

Was willst Du denn machen? Wie sieht Dein Code aus? Was ist das konkrete Problem?
N4SONIC
User
Beiträge: 32
Registriert: Sonntag 28. Dezember 2014, 15:46

Danke erstmal für die Antwort :)

Ich will versuchen das wenn sich zwei Rechtecke (Die zur x und y Koordinate parallel stehen) berühren zum beispiel Rechteck1 Rechteck2 berührt das Rechteck1 stehen bleibt.

Habe kein Code.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

N4SONIC hat geschrieben:Ich will versuchen das wenn sich zwei Rechtecke (Die zur x und y Koordinate parallel stehen) berühren zum beispiel Rechteck1 Rechteck2 berührt das Rechteck1 stehen bleibt.
Du könntest dir mal colliderect anschauen.

Wenn du damit eine Kollision festgestellt hast, dann sorgst du dafür, dass dein (bisher nicht vorhandener) Code, der sonst Rechteck 1 bewegt, nicht mehr ausgeführt wird.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Soll das Pixel genau funktionieren, oder hast Du eine zugrunde liegende Tile-Struktur? Bei letzterem kann man sämtlich Logiken wie Kollisionen leicht ohne pygame lösen... bei ersterem muss man sich etwas überlegen; aber Hilfe bezüglich des Frameworks wurde Dir ja schon gegeben :-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten