Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado. Consulte Mais informação.

PyGame é uma poderosa e popular biblioteca de desenvolvimento de jogos para Python. Ele fornece um conjunto de ferramentas e funções que facilitam a criação de jogos e outros aplicativos interativos. Um recurso útil do PyGame é sua capacidade de desenhar objetos e formas.

O módulo pygame.draw

No PyGame, desenhar objetos e formas é um processo direto. Você pode usar o pygame.draw módulo para desenhar formas como retângulos, círculos, linhas e muito mais.

Antes de começar, certifique-se de ter pip instalado no seu dispositivo, então use este comando para instalar o PyGameGenericName módulo:

pip instalar pygame

Desenhando Formas Básicas

O pygame.draw O módulo fornece várias funções que permitem desenhar formas básicas. Cada função recebe um conjunto de parâmetros para definir a forma e sua posição.

  • rect(): Você pode desenhar um retângulo usando esta função. Esta é uma das formas mais usadas em jogos. Você pode criar plataformas, paredes e outros objetos com retângulos. A função recebe quatro parâmetros: superfície (a superfície na qual desenhar o retângulo), cor, rect (um objeto Rect) e largura (espessura da linha).
    pygame.draw.rect (superfície, cor, retângulo, largura)
  • círculo(): Desenhar um círculo. Leva quatro parâmetros: superfície, cor, pos (o centro do círculo) e raio.
    pygame.draw.circle (superfície, cor, pos, raio)
  • polígono(): Desenhe um polígono. Leva quatro parâmetros: superfície, cor, pontos (uma lista de pontos que definem a forma do polígono) e largura.
    pygame.draw.polygon (superfície, cor, pontos, largura) 
  • linha(): Desenhe uma linha. Leva quatro parâmetros: superfície, cor, start_pos e end_pos.
    pygame.draw.line (superfície, cor, start_pos, end_pos) 

Você pode encontrar a lista completa de funções e seus parâmetros no site oficial Documentação do PyGame para o módulo draw.

Desenhar Formas Complexas

Além das formas básicas, o PyGame também permite desenhar formas complexas como arcos, elipses e linhas retas.

  • arco(): esta função desenha um arco em uma superfície. Um arco é uma porção de um círculo. São necessários seis parâmetros: superfície, cor, retângulo, ângulo_inicial, ângulo_final e largura. Especifique os ângulos em graus, com 0 graus apontando para a direita e aumentando no sentido horário. O parâmetro de largura especifica a espessura do arco.
    pygame.draw.arc (superfície, cor, retângulo, start_angle, end_angle, largura)
  • elipse(): desenhe uma elipse em uma superfície. Uma elipse é um círculo esticado. São necessários quatro parâmetros: superfície, cor, retângulo e largura.
    pygame.draw.ellipse (superfície, cor, retângulo, largura)
  • aaline(): use para desenhar uma única linha suavizada em uma superfície. Anti-aliasing é uma técnica usada para suavizar as bordas de uma forma, para que pareça mais natural. Leva quatro parâmetros que espelham o linha() função: superfície, cor, start_pos e end_pos.
    pygame.draw.aaline (superfície, cor, start_pos, end_pos) 

Criando formas aninhadas no PyGame

Outro recurso interessante do PyGame é a capacidade de desenhar formas dentro de outra forma. Você pode fazer isso usando uma combinação das funções básicas de desenho de formas no PyGame.

Para desenhar uma forma dentro de outra forma, você pode primeiro desenhar a forma interna e, em seguida, desenhar a forma externa em cima dela. A forma interna pode ser qualquer forma básica, como um retângulo ou um círculo.

Por exemplo, para desenhar um retângulo dentro de um círculo, você pode usar o pygame.draw.circle() função para desenhar o círculo e, em seguida, use o pygame.draw.rect() função para desenhar o retângulo em cima dele.

Você pode encontrar os seguintes exemplos de código em este repositório do GitHub.

Aqui está um trecho de código de exemplo que demonstra como desenhar um retângulo dentro de um círculo:

importar pygame

# Inicializa o pygame
pygame.init()

# Cria uma janela
janela = pygame.display.set_mode((800, 600))

# Cria um círculo
circle_rect = pygame.draw.circle (janela, (255, 255, 255), (400, 300), 100)

# Cria uma superfície para o retângulo
retângulo_superfície = pygame. Superfície((50, 50))
retângulo_surface.set_colorkey((0, 0, 0))

# Desenhe o retângulo na superfície
pygame.draw.rect (rectangle_surface, (255, 0, 0), (0, 0, 50, 50))

# Blit a superfície no círculo
janela.blit (superfície_retângulo, (375, 275))

# Loop principal
enquantoVerdadeiro:
# Saindo do jogo
para evento em pygame.event.get():
se event.type == pygame. DESISTIR:
pygame.quit()
saída()

# Atualize a exibição
pygame.display.update()

Isso cria o efeito de um retângulo dentro de um círculo. Você pode usar essa técnica para criar formas e elementos de jogos mais complexos combinando várias formas.

Imagens de desenho

PyGame também permite desenhar imagens. Você pode usar o pygame.image.load() função para carregar uma imagem de um arquivo e o pygame.image.blit() função para desenhe a imagem na tela.

A sintaxe para pygame.image.load() se parece com isso:

pygame.image.load (nome do arquivo) 

E aqui está a sintaxe para pygame.image.blit():

pygame.image.blit (imagem, rect) 

Além de carregar e desenhar imagens, o PyGame também fornece várias outras funções relacionadas a imagens. Essas funções permitem que você manipule imagens de várias maneiras, como dimensionamento, rotação, inversão e recorte.

Adicionando recursos avançados

O PyGame também fornece alguns recursos avançados para desenhar objetos e formas. Por exemplo, você pode usar o pygame.mouse.get_pos() função para obter a posição do mouse e o pygame.mouse.get_pressed() função para obter o estado do botão do mouse. Com essas funções, você pode criar um recurso de clicar para desenhar que permite desenhar formas clicando com o mouse.

importar pygame 

# Inicializa o pygame
pygame.init()

# Cria uma janela
janela = pygame.display.set_mode((800, 600))

# Loop principal
enquantoVerdadeiro:
# Obter a posição do mouse
posição_do_mouse = pygame.mouse.get_pos()

# Obtém o estado do botão do mouse
mouse_pressed = pygame.mouse.get_pressed()

# Saindo do jogo
para evento em pygame.event.get():
se event.type == pygame. DESISTIR:
pygame.quit()
saída()

# Desenhando um círculo quando o mouse é pressionado
se mouse_pressionado[0] == 1:
pygame.draw.circle (janela, (255, 0, 0), posição_do_mouse, 20)

# Atualize a exibição
pygame.display.update()

Abaixo está a saída:

Crie Facilmente Sprites de Jogo no PyGame

O PyGame também fornece um poderoso conjunto de ferramentas para criar facilmente sprites e objetos de jogos. Com o pygame.draw módulo, você pode facilmente criar sprites que você pode usar em seus jogos. Você pode criar personagens, objetos e outros elementos do jogo com facilidade.