## image ```python= # remove background img = pygame.image.load('image.png').convert_alpha() # get image height and width imgHeight = img.get_height() imgWidth = img.get_width() # transform.flip(img, 左右顛倒, 上下顛倒) img = pygame.transform.flip(img, True, True) # change the size of image img = pygame.transform.scale(img, (imgHeight/4, imgWidth/4)) # transform.rotate(img, degree) # rotate clockwisely img = pygame.transform.rotate(img, 90) ``` ## sprite ```python= # create a subclass of sprite class Player(pygame.sprite.Sprite): # consturctor def __init__(self, thing: pygame.surface.Surface) -> None: self.image = thing self.rect = thing.get_rect() # method of sprite, when calling group.update(), the method would be executed def update(self) -> None: self.rect.x += 2 self.rect.y += 2 # create a sprite group group = pygame.sprite.Group() player1 = Player(img) group.add(player1) # show the sprites on screen group.draw(screen) # calling group update group.update() ``` ## keyboard inputs keys = pygame.key.get_pressed() if keys[pygame.K_a]: #read 'a' ## sprite collide all_rocks = pygame.sprite.Group() *#contains all rocks* all_bullets = pygame.sprite.Group() *#contains all bullets* player = Player() hits = pygame.sprite.groupcollide(all_rocks, all_bullets, True, True) *#delete that rock? delete that bullet?* for hit in hits: r = Rock() all_sprites.add(r) all_rocks.add(r) hits = pygame.sprite.spritecollide(player, all_rocks, True, pygame.sprite.collide_circle) *#Delete Rock. Circle as hitboxes* *#when using collide_circle, the constructor function of the class must contain self.radius* if hits: running = False #game ends print("You died")