Como criar um jogo em Python facilmente?
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!
Você pode verificar a instalação carregando um dos exemplos que vem com a biblioteca:
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:
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:
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:
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:
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:
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!