Код: Выделить всё
class Character:
def __init__(self, x, y):
self.image = pygame.image.load("Player.gif").convert_alpha()
self.rect = self.image.get_rect()
self.topleft = (x, y)
self.mask = pygame.mask.from_surface(self.image)
def draw(self, screen):
screen.blit(self.image, self.rect)
def main():
pygame.init()
screen_size = width, height = 1200, 800
screen = pygame.display.set_mode(screen_size)
map = pygame.image.load("background.png").convert_alpha()
map_mask = pygame.mask.from_surface(map)
mask_image = map_mask.to_surface()
character = Character(50, 50)
character_mask = character.mask.to_surface()
clock = pygame.time.Clock()
is_playing = True
while is_playing:
for event in pygame.event.get():
if event.type == pygame.QUIT:
is_playing = False
keys = pygame.key.get_pressed()
if keys[pygame.K_w]:
character.rect.move_ip(0, -7)
if map_mask.overlap(character.mask, character.topleft):
print("colliding")
screen.fill((255,255,255))
screen.blit(mask_image, (0,0))
screen.blit(character_mask, (100, 200))
character.draw(screen)
pygame.display.update()
clock.tick(50)
pygame.quit()
sys.exit()
if __name__=="__main__":
main()

Подробнее здесь: https://stackoverflow.com/questions/799 ... -in-pygame