How to Use Sprite Collide in Pygame

前端 未结 3 989
你的背包
你的背包 2021-01-21 01:35

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

相关标签:
3条回答
  • 2021-01-21 02:09
    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.

    0 讨论(0)
  • 2021-01-21 02:10

    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.

    0 讨论(0)
  • 2021-01-21 02:20

    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)
    
    0 讨论(0)
提交回复
热议问题