🤔 Para Refletir : "CHAR armazena um valor alfanumérico à variável. Programar, por si só, armazena bugs à constante." - DougMR

Criando Jogo com Python - Pygame - Parte 2 - Primeira Janela

Membro Membro
Postagens
69
Bravecoins
0
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

tut1.png


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
 
Olá, haunter224!
Seus tutoriais estão excepcionais!
Estou adorando aprender a utilizar o pygame contigo.

E a propósito:
o "sys.exit()" fica marcado de vermelho em baixo do sys. É normal?
Acabei optando por deixar apenas o exit ou o break mesmo.

Continue com os tutoriais!!
:palmas:
 
Voltar
Topo