O que ".subsurface ()", ".convert_alpha ()" e "%" fazem?

Estou tentando aprender Pygame, e o tutorial que estou seguindo tem uma seção explicando como animar sprites. Ele fornece uma planilha de sprite com 8 imagens de 128x128 cada, enquanto a planilha inteira mede 1024x128.

Em seguida, apresenta o seguinte código:

#! /usr/bin/env_python
import pygame, sys
from pygame.local import *

pygame.init()

ZONE = pygame.display.set_mode((400,300))

pygame.display.set_caption("Game Zone")

RED = (255,0,0)
clock = pygame.time.Clock()

counter = 0
sprites = []

sheet = pygame.image.load("spritesheet.gif").convert_alpha()
width = sheet.get_width()

for i in range(int(width/128)):
    sprites.append(sheet.subsurface(i*128,0,128,128)) 

while True:
    pygame.display.update()

    ZONE.fill(RED)
    ZONE.blit(sprites[counter],(10,10))

    counter = (counter + 1) % 8

    clock.tick(16) 

    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit() 

O tutorial é muito vago sobre o que essas linhas fazem, então eu me pergunto:

O quesheet.subsurface() Faz? E o que esses quatro parâmetros representam? (Creio que o terceiro e o quarto se referem à largura e altura das imagens individuais.)O que.convert_alpha() Faz? O tutorial diz que "preserva a transparência", mas achei estranho, pois já havia usado imagens com fundos transparentes antes e nenhuma delas precisava dessa conversão.O que% Faz? Eu já sei isso/ significa divisão, mas o tutorial nunca explicou%.

questionAnswers(2)

yourAnswerToTheQuestion