Pygame: Tolleranz in Kollisionsabfrage möglich?
Verfasst: Dienstag 15. Februar 2022, 20:27
Hallo, ich hoffe es ist hier möglich speziell auch Fragen über Pygame zu stellen.
Also ich habe zwei Grafiken für den Spieler und den Gegner geladen und dann habe ich sie jeweils mittels rectangle in Objekte gewandelt:
Und in der Schleife bewegt sich nun der Gegner Stück für Stück auf den Spieler zu und wenn dieser den Spieler berührt, ist das Spiel vorbei:
.colliderect ist eine Methode in Pygame und funktioniert auch soweit ganz gut als Kollisionsabfrage. Problem dabei ist nur, dass es noch nicht so toll aussieht, wenn das Spiel endet, sobald sich Spieler und Gegner einfach mit den Fingerspitzen berühren und daher wollte ich fragen, ob man da eine Tolleranz einbauen kann, so dass die beiden Bilder ein Paar Pixel ineinander fahren können, bevor die Kollision ausgeführt wird. In der Dokumentation zu .colliderect finde ich leider nix dazu.
Also ich habe zwei Grafiken für den Spieler und den Gegner geladen und dann habe ich sie jeweils mittels rectangle in Objekte gewandelt:
Code: Alles auswählen
player = pygame.image.load('player.png').convert_alpha()
player_rect = player.get_rect(midbottom = (10,100))
enemy = pygame.image.load('enemy.png').convert_alpha()
enemy_rect = enemyr.get_rect(midbottom = (400,100))
Code: Alles auswählen
enemy_rect.left -= 4.0
if enemy_rect.colliderect(player_rect):
exit()