какие аргументы принимает 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 шт):
Нашел метод 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)
я использую другую систему столкновений, если хочешь её использовать, она заключается в том, что создается любая переменная, например hits потом используется
hits = pygame.sprite.spritecollide(1, 2, False)#1 это первый спрайт, 2 второй
for hit in hits:
#здесь твой код
Если сменить False на True, спрайт второй спрайт исчезает, если False он использует твой код и проходит насквозь(у меня от отскакивает от игрока) удачи тебе в програмирование=)