Pular para o conteúdo

Como criar um jogo em Python facilmente?

CodeMDD.io

PyGame: Um Guia para Programação de Jogos em Python

Por Jon Fincher

Quando comecei a aprender programação de computadores no final do último milênio, foi impulsionado pelo meu desejo de escrever jogos de computador. Eu tentei descobrir como escrever jogos em todas as linguagens e em todas as plataformas que aprendi, incluindo Python. Foi assim que descobri o pygame e aprendi como usá-lo para escrever jogos e outros programas gráficos. Na época, eu realmente queria um guia introdutório sobre o pygame.

Ao final deste artigo, você será capaz de:

  • Desenhar elementos na tela
  • Reproduzir efeitos sonoros e música
  • Lidar com a entrada do usuário
  • Implementar laços de eventos
  • Descrever como a programação de jogos difere da programação procedural padrão em Python

Este guia pressupõe que você tenha uma compreensão básica de como escrever programas Python, incluindo funções definidas pelo usuário, importações, laços e condicionais. Você também deve estar familiarizado com como abrir arquivos em seu sistema operacional. Um entendimento básico de programação orientada a objetos em Python também é útil. O pygame funciona com a maioria das versões do Python, mas o Python 3.6 é recomendado e usado ao longo deste artigo.

Você pode obter todo o código deste artigo para acompanhar:

Contexto e Configuração

pygame é um encapsulamento Python para a biblioteca SDL, que significa Simple DirectMedia Layer. O SDL fornece acesso multiplataforma aos componentes de hardware multimídia do seu sistema, como som, vídeo, mouse, teclado e joystick. O pygame começou como um substituto para o projeto PySDL paralisado. A natureza multiplataforma tanto do SDL quanto do pygame significa que você pode escrever jogos e programas multimídia avançados em Python para qualquer plataforma que os suporte!

$ pip install pygame

Você pode verificar a instalação carregando um dos exemplos que vem com a biblioteca:

$ python3 -m pygame.examples.aliens

Se uma janela de jogo aparecer, então o pygame está devidamente instalado! Se você encontrar problemas, siga as etapas abaixo para solucioná-los.

Programa Básico em PyGame

Agora que temos o pygame instalado, vamos começar com um programa básico em PyGame. Abra o seu editor de código preferido e crie um novo arquivo chamado basic_game.py. Em seguida, importe o módulo pygame e inicialize-o da seguinte maneira:

import pygame
# Inicialização do PyGame
pygame.init()

Essa é uma etapa importante ao iniciar um programa em PyGame, pois inicializa todas as funções e subsistemas necessários para a funcionalidade adequada do PyGame.

Após a inicialização, precisamos configurar a tela onde nosso jogo será exibido. Adicione o seguinte código:

# Configuração da tela
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("Meu Jogo em PyGame")

Neste código, configuramos as dimensões da tela (screen_width e screen_height) e usamos o método set_mode para criar uma janela de exibição com as dimensões fornecidas. Também usamos o método set_caption para definir um título para a janela do jogo.

Agora que nossa tela está configurada, precisamos criar um loop principal para manter o jogo em execução. Adicione o seguinte código:

# Loop principal do jogo
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((0, 0, 0))
pygame.display.flip()

Neste código, usamos uma variável running para controlar o loop principal do jogo. Dentro do loop, usamos pygame.event.get() para obter todos os eventos ocorridos desde a última vez que a função foi chamada. Verificamos se o evento é do tipo QUIT, o que indica que o usuário fechou a janela do jogo, e definimos running como False para sair do loop.

Em seguida, usamos o método fill para preencher a tela com uma cor (no exemplo acima, preto) e usamos pygame.display.flip() para atualizar a exibição.

Agora que nosso jogo tem um loop principal funcional, vamos adicionar um jogador na tela. A primeira coisa que precisamos fazer é carregar a imagem do jogador. Adicione o seguinte código antes do loop principal:

# Carregar imagem do jogador
player_image = pygame.image.load("player.png")
player_rect = player_image.get_rect()
player_rect.center = (screen_width https://codemdd.io/ 2, screen_height https://codemdd.io/ 2)

Neste código, usamos pygame.image.load() para carregar a imagem do jogador de um arquivo chamado player.png. Em seguida, usamos get_rect() para obter um retângulo que representa a imagem do jogador e center para definir a posição do jogador no centro da tela.

Agora que carregamos a imagem do jogador, podemos desenhá-lo na tela dentro do loop principal. Modifique o código dentro do while running da seguinte maneira:

while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
screen.fill((0, 0, 0))
screen.blit(player_image, player_rect)
pygame.display.flip()

Agora usamos o método blit para desenhar a imagem do jogador (player_image) no retângulo do jogador (player_rect) na tela.

Pronto! Agora você tem um programa básico em PyGame que exibe um jogador na tela. Execute o programa e veja o jogador aparecer. Para sair do jogo, feche a janela clicando no botão de fechar.

Este é apenas um exemplo básico de como começar a programar jogos em Python usando o PyGame. Existem muitos outros conceitos e recursos que você pode explorar para criar jogos mais complexos. Espero que este guia introdutório tenha sido útil para você começar nessa jornada emocionante de programação de jogos!

Conclusão

Neste guia, você aprendeu os conceitos básicos da programação de jogos em Python usando o PyGame. Exploramos a configuração da tela, a criação de um loop principal do jogo e a incorporação de elementos gráficos, como imagens de jogador. Este é apenas o começo de sua jornada de programação de jogos em Python, e esperamos que você possa continuar a explorar e aprimorar suas habilidades.

Lembre-se de que a programação de jogos é uma combinação de arte e ciência, e é uma ótima maneira de aplicar seus conhecimentos de programação de uma forma criativa e divertida. Continue praticando, seja criativo e divirta-se desenvolvendo seus próprios jogos em Python com o PyGame!