Slide 1

Slide 1 text

Games com Python Introdução ao desenvolvimento de jogos com Pygame

Slide 2

Slide 2 text

Apresentação https://speakerdeck.com/pattyvader/pygame

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Roadmap 1. Estrutura de um game 2. Pygame 3. Um simples exemplo 4. Alien Invasion

Slide 5

Slide 5 text

Estrutura de um game http://gameprogrammingpatterns.com/game-loop.html

Slide 6

Slide 6 text

Estrutura de um game 1. Entrada de Dados 2. Atualização de Variáveis 3. Desenho da Tela 4. Repete….

Slide 7

Slide 7 text

Estrutura de um game 1. Entrada de Dados a. Teclado b. Mouse c. Rede 2. Atualização de Variáveis 3. Desenho da Tela 4. Repete….

Slide 8

Slide 8 text

Estrutura de um game 1. Entrada de Dados 2. Atualização de Variáveis a. Posição dos objetos na tela b. Pontos de vida c. Score 3. Desenho da Tela 4. Repete….

Slide 9

Slide 9 text

Estrutura de um game 1. Entrada de Dados 2. Atualização de Variáveis 3. Desenho da Tela a. Personagem b. Cenário c. Status do jogo (mostra quantas ‘vidas’, pontos, número da fase etc) 4. Repete….

Slide 10

Slide 10 text

Estrutura de um game 1. Entrada de Dados 2. Atualização de Variáveis 3. Desenho da Tela 4. Repete….

Slide 11

Slide 11 text

Pygame ● Game Engine escrita em Python ● Criada em 2000 por Pete Shinners ● Contém diversos módulos para facilitar a criação de games https://www.pygame.org

Slide 12

Slide 12 text

Pygame http://www.pygame.org/project/3106/5117 http://www.pygame.org/project/3103/5114

Slide 13

Slide 13 text

Pygame http://www.pygame.org/project/3103/5114

Slide 14

Slide 14 text

Pygame Módulos principais: ● Events: Captura de eventos do sistema. ● Image: Manipula recursos visuais. ● Sprite: Carrega animações. ● Mixer: Carrega e executa sons e músicas ● Time: Gerencia tempo e framerate do jogo.

Slide 15

Slide 15 text

Um simples exemplo

Slide 16

Slide 16 text

https://github.com/pattyvader/mario

Slide 17

Slide 17 text

Um simples exemplo: Inicialização Inicializa o Pygame

Slide 18

Slide 18 text

Um simples exemplo: Criação da Tela Define o tamanho da tela

Slide 19

Slide 19 text

Um simples exemplo: Cenário Define o tamanho da tela Cria o cenário de fundo (todo branco)

Slide 20

Slide 20 text

Um simples exemplo: Sprite Define o tamanho da tela Cria o cenário de fundo (todo branco) Faz o carregamento da imagem

Slide 21

Slide 21 text

Um simples exemplo: Game-loop Define o Clock do jogo

Slide 22

Slide 22 text

Um simples exemplo: Game-loop Define o Clock do jogo 40 Frames Per Second (FPS)

Slide 23

Slide 23 text

Um simples exemplo: Game-loop Define o Clock do jogo 40 Frames Per Second (FPS) Força a leitura dos buffers de entrada de dados (Teclado, mouse etc)

Slide 24

Slide 24 text

Um simples exemplo: Eventos Teclado Captura evento do teclado

Slide 25

Slide 25 text

Um simples exemplo: Eventos Teclado Captura evento do teclado Atualização posição sprite

Slide 26

Slide 26 text

Um simples exemplo: Eventos Teclado Captura evento do teclado ESC: Encerra o jogo Atualização posição sprite

Slide 27

Slide 27 text

Um simples exemplo: Renderização Desenha o cenário

Slide 28

Slide 28 text

Um simples exemplo: Renderização Desenha o cenário Desenha o personagem, com as variáveis X e Y atualizadas

Slide 29

Slide 29 text

Um simples exemplo: Renderização Desenha o cenário Desenha o personagem, com as variáveis X e Y atualizadas Atualiza a tela inteira com os novos elementos

Slide 30

Slide 30 text

Pygame Métodos úteis da Pygame: Fluxo e entrada de dados ● pygame.time.Clock - cria o objeto Clock ● pygame.event.pump - força o processamento de eventos do Pygame ● pygame.key.get_pressed - captura as teclas pressionadas ● pygame.mouse.get_pressed - captura os botões do mouse ● pygame.mouse.get_pos - captura a posição do cursor de mouse ● pygame.joystick.init - inicializa o módulo de joystick

Slide 31

Slide 31 text

Pygame Métodos úteis da Pygame: Objetos visuais ● pygame.image.load - carrega um arquivo de imagem ● pygame.Surface.* - desenha superfícies ● pygame.sprite.Sprite - classe para trabalhar com Sprites ● pygame.sprite.collide_rect - detecta colisões entre Sprites ● pygame.draw.* - desenha linhas, círculos, polígonos ● pygame.display.flip - força a atualização da tela

Slide 32

Slide 32 text

Pygame Métodos úteis da Pygame: Música e testes ● pygame.mixer.music.load - carrega o arquivo de música ● pygame.mixer.music.play - inicia a música ● pygame.mixer.music.stop - interrompe a música ● pygame.mixer.music.pause - pausa a música ● ● pygame.tests.run - executa a suite de testes do Pygame

Slide 33

Slide 33 text

Alien Invasion https://github.com/pattyvader/python Python Crash Course Eric Matthes

Slide 34

Slide 34 text

Alien Invasion

Slide 35

Slide 35 text

Muito obrigada! [email protected] https://github.com/pattyvader @pattyvader *Designed by Freepik from www.flaticon.com*