Как зарегестрировать столкновение двух спрайтов в pygame

Создал два спрайта: один управляется на WASD, другой на стрелочки. Задумка игры в том, что один игрок должен догонять другого (салки, догонялки). Проблема в том, что не могу зарегестрировать столкновение спрайтов. Причём столкновение игрока с каким-нибудь мобом срабатывает, а с игровым персонажем нет. Я в этом деле новичок, может чего-то не понимаю. Заранее спасибо!

class Player(pygame.sprite.Sprite):
def __init__(self):
    pygame.sprite.Sprite.__init__(self)
    self.image = player_img
    self.image.set_colorkey(WHITE)
    self.rect = self.image.get_rect()
    self.rect.center = (WIDTH/2,HEIGHT/2)
    self.speedx = 0
def update(self):
    self.speedx = 0
    keystate = pygame.key.get_pressed()
    if keystate[pygame.K_a]:
        self.speedx = -8
    if keystate[pygame.K_d]:
        self.speedx = 8
    self.rect.x += self.speedx
    if self.rect.right > WIDTH:
        self.rect.right = WIDTH
    if self.rect.left < 0:
        self.rect.left = 0
    if keystate[pygame.K_w]:
        self.speedy = -8
        self.rect.y += self.speedy                  
    if keystate[pygame.K_s]:
        self.speedy = 8
        self.rect.y += self.speedy                  
    if self.rect.bottom > HEIGHT:
        self.rect.bottom = HEIGHT
    if self.rect.top < 0:
        self.rect.top = 0
class Player2(pygame.sprite.Sprite):
def __init__(self):
    pygame.sprite.Sprite.__init__(self)
    self.image = player_img2
    self.image.set_colorkey(WHITE)
    self.rect = self.image.get_rect()
    self.rect.center = (WIDTH,HEIGHT)
    self.speedx = 0
def update(self):
    self.speedx = 0
    keystate = pygame.key.get_pressed()
    if keystate[pygame.K_LEFT]:
        self.speedx = -8
    if keystate[pygame.K_RIGHT]:
        self.speedx = 8
    self.rect.x += self.speedx
    if self.rect.right > WIDTH:
        self.rect.right = WIDTH
    if self.rect.left < 0:
        self.rect.left = 0
    if keystate[pygame.K_UP]:
        self.speedy = -8
        self.rect.y += self.speedy                  
    if keystate[pygame.K_DOWN]:
        self.speedy = 8
        self.rect.y += self.speedy                  
    if self.rect.bottom > HEIGHT:
        self.rect.bottom = HEIGHT
    if self.rect.top < 0:
        self.rect.top = 0

Ответы (0 шт):