какие аргументы принимает pygame.sprite.collide_rect() если спрайты записаны в переменных?

что писать в аргументах pygame.sprite.collide_rect() ? вот переменные:

player=pygame.draw.rect(win,(0,0,255),(x,y,width,height))
rect=pygame.draw.rect(win,(255,0,0),(rect_x,rect_y,rect_width,rect_height)) 

как сделать реакцию на касание двух спрайтов?


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

Автор решения: gil9red

Нашел метод pygame.sprite.collide_rect в документации:

Collision detection between two sprites, using rects. collide_rect(left, right) -> bool

Но он для спрайтов, а у вас там Rect, поэтому больше подойдет метод pygame.Rect.colliderect

test if two rectangles overlap
colliderect(Rect) -> bool

Тогда, использование должно быть таким:

is_collide = player.colliderect(rect)
→ Ссылка
Автор решения: DisanD_08

я использую другую систему столкновений, если хочешь её использовать, она заключается в том, что создается любая переменная, например hits потом используется

hits = pygame.sprite.spritecollide(1, 2, False)#1 это первый спрайт, 2 второй
for hit in hits:
    #здесь твой код

Если сменить False на True, спрайт второй спрайт исчезает, если False он использует твой код и проходит насквозь(у меня от отскакивает от игрока) удачи тебе в програмирование=)

→ Ссылка