I am making a very simple game where the bird (player) has to dodge the rock and if it gets hit by the rock you lose. I am trying to use pygame.sprite.collide_rect() to tell if
def checkCollision(sprite1, sprite2):
col = pygame.sprite.collide_rect(sprite1, sprite2)
if col == True:
sys.exit()
should be
def checkCollision(self, sprite1, sprite2):
col = pygame.sprite.collide_rect(sprite1, sprite2)
if col == True:
sys.exit()
since it's a method bound to an object.
Change
def checkCollision(sprite1, sprite2):
To
def checkCollision(self, sprite1, sprite2):
And you don't have to check the collision on every event, reduce the indent of rock.checkCollision(bird.image_b, rock.image_b)
by 1.
You have this:
col = pygame.sprite.collide_rect(sprite1, sprite2)
But an easier way to do this would be to simply use colliderect which is a function of rect. It might be easier to try this:
col=sprite1.rect.colliderect(sprite2.rect)