Criando jogo com python - primeira janela do jogo
Vamos então continuar com os tutoriais.Vamos abrir o nosso editor de código ( no meu caso vou usar o pycharm)
e criar um novo arquivo. Vamos chamar esse arquivo de __main__.py
passemos ao código.
No inicio do arquivo vamos adicionar estas variaveis, isto é opcional, mas é uma boa pratica para se identificar os nossos scripts
Código:
__author__ = 'Fabio almeida'
__version__ = "0.1"
__description__ = "Primeiro tutorial sobre python com pygame"
uma coisa que devem saber sobre python, ao contrario de ruby puthon não utiliza end para fechar os blocos
e sim a identação, ou seja
Código:
class teste:
def coiso:
#algum codigo
#mais algum codigo
def coiso2
#algum codigo
#mais algum codigo
como poderam ver para entrar num bloco de codigo seja def, class, if, while, usa-se : e para terminar volta-se com o alinhamento para traz.
O pycharm trata disso
continuando então com o tutorial,
primeiro precisamos importar o pygame para o nosso script, como se usa require no ruby no python usamos o import e inicializamos este modulo.
Atenção nem todos os modulos necessitam de iniciar (.init) isto é especifico do pygame
Código:
# importamos os modulos necessarios
import pygame
importamos o modulo sys para fazer sys.exit()
import sys
ao importarmos o pygame o modulo fica disponível ao script através do próprio nome pygame
Inicializamos o modulo
Código:
# iniciamos o modulo pygame
pygame.init()
Vamos então iniciar a nossa janela
Código:
try:
#aqui defenimos a variavel screen para ser a nossa janelinha
screen = pygame.display.set_mode((640, 480), pygame.HWSURFACE)
# Criamos um objeto Time clock este objeto serve para controlarmos o fps do nosso jogo
clock = pygame.time.Clock()
# Defenimos o titulo da janela
pygame.display.set_caption("Condado Braveheart - Pygame - tutorial 1")
# alternamos os buffers
# o pygame usa 2 buffer (variaveis) assim desenhamos sempre para o backbuffer e apos termos
# desenhado tudo alternamos o buffer
pygame.display.flip()
Vamos agora criar o nosso Loop para podermos atualizar e desenhar o nosso jogo
Código:
# Iniciamos o loop do jogo
# Aqui vamos desenhar tudo e actualizar o nosso jogo
while True: #reparem que True é com T grande
# Obtemos os eventos SDL
event = pygame.event.wait()
# Se clicarmos no X para fechar a janela
if event.type == pygame.QUIT:
break # Finalizaamos o loop
# Se carrgarmos numa tecla
elif event.type == pygame.KEYDOWN:
# se essa tecla for o ESC
if event.key == pygame.K_ESCAPE:
# Saimos do processo
sys.exit()
e finalmente fechamos o nosso bloco try:
Código:
finally:
# caso aconteca algum erro, saimos do jogo
pygame.quit()
Guardamos e executamos o arquivo e temos este resultado como mostra na imagem abaixo
se estiverem a usar pycharm basta clicar com o butão do lado direito do rato no codigo e clicar em run
ou podem abrir o terminal e digitar python caminho para o arquivo/__main__.py
Aqui temos o código completo para a nossa janela
Código:
__author__ = 'Fabio almeida'
__version__ = "0.1"
__description__ = "Primeiro tutorial sobre python com pygame"
# importamos os modulos necessarios
import pygame
import sys
# iniciamos o modulo pygame
pygame.init()
try:
screen = pygame.display.set_mode((640, 480), pygame.HWSURFACE)
# Criamos um objeto Time clock este objeto serve para controlarmos o fps do nosso jogo
clock = pygame.time.Clock()
# Defenimos o titulo da janela
pygame.display.set_caption("Condado Braveheart - Pygame - tutorial 1")
# alternamos os buffers
pygame.display.flip()
# Iniciamos o loop do jogo
# Aqui vamos desenhar tudo e atualizar o nosso jogo
while True:
# Obtemos os eventos SDL
event = pygame.event.wait()
# Se clicarmos no X para fechar a janela
if event.type == pygame.QUIT:
break # Finalizaamos o loop
# Se carrgar-mos numa tecla
elif event.type == pygame.KEYDOWN:
# se essa tecla for o ESC
if event.key == pygame.K_ESCAPE:
# Saimos do processo
sys.exit()
finally:
# caso aconteca algum erro, saimos do jogo
pygame.quit()
Por agora é só no próximo tutorial vamos criar a classe Jogo e desenhar o primeiro sprite