if fly.vspeed > 0:
    fly.rect.bottom = hit.rect.top
else:
    fly.rect.top = hit.rect.bottom
if fly.rect.bottom == hit.rect.top:
    fly.vspeed = 0
if fly.vspeed == 0:
    fly.rect.x += fly.vspeed
if fly.hspeed > 0:
    fly.rect.right = hit.rect.left
else:
    fly.rect.left = hit.rect.right
pygame - враг улетает за пределы экрана при столкновении с землей?