Код: Выделить всё
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)
class Guard:
def __init__(self):
self.image = pygame.image.load("Guard.png").convert_alpha()
self.rect = self.image.get_rect()
self.mask = pygame.mask.from_surface(self.image)
def draw(self, screen):
screen.blit(self.image, self.rect)
# def bounce(self, speed):
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(350, 250)
guard1 = Guard()
guard2 = Guard()
character = Character(50, 50)
character_mask = character.mask.to_surface()
guard1 = Guard()
guard2 = Guard()
clock = pygame.time.Clock()
is_playing = True
while is_playing:# while is_playing is True, repeat
for event in pygame.event.get():
if event.type == pygame.QUIT:
is_playing = False
keys = pygame.key.get_pressed()
if keys[pygame.K_d]:
character.rect.move_ip(7,0)
if keys[pygame.K_a]:
character.rect.move_ip(-7,0)
if keys[pygame.K_w]:
character.rect.move_ip(0,-7)
if keys[pygame.K_s]:
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)
# guard1.draw(screen)
# guard2.draw(screen)
# character.draw(screen)
pygame.display.update()
clock.tick(50)
pygame.quit()
sys.exit()
if __name__=="__main__":
main()

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