Как зарегестрировать столкновение двух спрайтов в 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