Monitoramento, Métricas e Mensuração - MBA Mkt Digital iDez - aula 01
Idez
-
Upload
diego-lopes -
Category
Documents
-
view
2.235 -
download
3
description
Transcript of Idez
CRIANDO JOGOS COM
PYTHON E PYGAME
Diego Lopes Marques da [email protected]
http://sites.google.com/site/lmsdiego/
Max Azevêdo da [email protected]
2
Onde Baixar?
Python:http://www.python.org/
Pygame:http://www.pygame.org/news.html
3
Versões
Optamos por usar as versões
Python 2.6Pygame 1.9
4
Porque Python e Pygame?
Fracamente tipadaFácil identaçãoAbstração dos "códigos pesados“
5
Introdução a biblioteca Pygame.
Pygame é uma biblioteca de jogos multiplataforma (independente de sistema operacional) feita para ser utilizada em conjunto com a linguagem de programação Python.
6
Jogos feitos com Pygame
Legacy Of Magic
7
Jogos feitos com Pygame
Frets on fire
8
Jogos feitos com Pygame
PyQuimica
9
Elementos do Pygame Tela – Elemento principal de um jogo. É nela
onde tudo começa. É considerada a superfície principal
10
Elementos do Pygame Eventos
Imagem
11
Elementos do Pygame Texto
Surface
12
Elementos do Pygame SpriteSprites são imagens com animação
geralmente usados como personagens, inimigos ou objetos móveis
13
Elementos do Pygame Clock
O clock é um elemento muito importante de qualquer jogo, pois é este módulo que irá indicar a frequência com que as instruções do loop são executadas, ou seja, a quantidade de quadros por segundo do loop.
14
Elementos do Pygame Sons
15
CRIANDO UMA TELAimport pygameEsta linha serve para importar o módulo
Pygame
from pygame.locals import * importa os Locals do PyGame que contém
eventos de mouse, teclado, joystick, etc.
pygame.init() Não se pode chamar nenhuma função do
pygame sem antes fazer pygame.init(). Se deu certo, ele retorna (6,0)
16
CRIANDO UMA TELA
tela=pygame.display.set_mode((larg,Altura))
Cria uma janela no tamanho passado por parâmetro.
continuar = True variável de controle que irá servir para o loop
infinito.
clock = pygame.time.clock()Atribuição da função para a variável clock
17
CRIANDO UMA TELA
while(continuar): clock.tick(60)for event in pygame.event.get():
if event.type==QUIT: continuar=False
O Laço principal é onde vai ter tudo que precisar ser usado constantemente Se você não pegar os eventos(pygame.event.get()) a janela trava
Clock.tick (60) – Indica que o jogo irá chamar 60 quadros por segundo
18
CRIANDO UMA TELA
tela.fill((corR,corG,corB)) Define o cor de fundo da tela, no formato RGB
ou HEXADECIMAL.http://www.efeitosespeciais.net/
tabela.htmtela.blit(superficie,(int,int))Pinta uma superfície na tela.
pygame.display.flip() Atualiza a tela.
19
import pygame
from pygame.locals import*
pygame.init()
tela =
pygame.display.set_mode((larg,altura))
Clock = pygame.time.Clock()
continuar = True
while(continuar):
clock.tick(60)
for event in pygame.event.get():
if event.type==QUIT:
continuar=False
tela.fill((corR,corG,corB))
tela.blit(superficie(int,int))
pygame.display.flip()
20
A FUNÇÃO DRAW()
O módulo draw, serve para desenhar figuras básicas em superfícies como, círculo, retângulo, etc.
LINHApygame.draw.line(superfície, (corR,corG,corB), (posXinicio,posYinicio),
(posXfinal,posYfinal),
largura)
21
ADICIONANDO IMAGENS
O PyGame tem recursos para ler e salvar imagens. Por padrão o formato Bitmap(BMP) é suportado, suportados, pórém, também podemos carregar arquivos PNG( mais comum para jogos), GIF, JPEG
icone = pygame.image.load("icone.png")
.convert_alpha()
Convert_alpha() – bytes para pixels tela.blit(icone, (int,int))
22
ADICIONANDO TEXTOS Pygame também disponibiliza módulo para
trabalhar com fontes. Fora do loop texto = pygame.font.SysFont(fonte, 20) Ou texto = pygame.font.Font(fonte, 30) Dentro do loop palavra = texto.render(String, True, (cor))
tela.blit(palavra,(int,int))
23
Eventos do Mouse Para eventos do mouse, o Pygame
disponibiliza duas formas. Indiretamente através dos tipos de eventos,
onde se tem 3 tipos:
pygame.MOUSEMOTION: mouse movendo pygame.MOUSEBUTTONDOWN: apertar botão pygame.MOUSEBUTTONUP: soltar botão
Dessa forma, não se pode precisar qual botão irá apertar.
24
Eventos do MouseDiretamente
pygame.mouse.get_pressed()[0]pygame.mouse.get_pressed()[1]pygame.mouse.get_pressed()[2]
25
Eventos do Mouse
pygame.mouse.get_pos()Pega a posição do mouse
26
Eventos do Teclado
Vejamos agora, como manipular eventos de teclado no pygame.
tecla = pygame.key.get_pressed()if tecla[K_LEFT]:
print("esquerda")
http://www.pygame.org/docs/ref/key.html.
27
A FUNÇÃO RECT
A função rect, serve para detectar colisões das imagens, textos, etc.
Utilizaremos com a imagem carregada anteriormente
imagemRect = icone.get_rect().move(pos)
Cria uma váriavel imagemRect que vai criar um retângulo na figura de acordo com a posição passada.
28
A FUNÇÃO RECT
Agora com a imagem “circulada”, podemos fazer com que o mouse a identifique, através do método collidepoint.
ificoneRect.collidepoint(pygame.mouse.get_pos()):
print("ok")
29
A FUNÇÃO SURFACE() São superfícies nas quais se desenha Toda tela é uma superfície Criando uma superfície superficie = pygame.Surface ((tamanhoX, tamanhoY))
superficie.fill((corR, corG, corB))tela.blit(superficie, (posX, posY))
30
A FUNÇÃO SURFACE()
Superfícies também podem ser vazias, que servem como uma superfície auxiliar.
superficie = pygame.Surface((0,0))
É muito utilizada para imagens e textos.
31
Adicionando Sons
Para adicionar sons em Pygame, é muito simples.
Primeiro importamos o módulo mixer.import pygame.mixer
Depois,criamos uma variável que recebe o arquivo
som = pygame.mixer.Sound(arquivo)
através do método play, o arquivo é tocado.som.play()
Para parar o arquivo de som, invocamos o método stop
Som.stop()
32
Adicionando Musicas
Para adicionar Musicas de fundo no Pygame, utilizamos o mesmo módulo mixer, porém outra função, dessa vez, sem a variável
pygame.mixer.Sound(arquivo)
Para tocar o arquivoPygame.mixer.Sound.play()
Para parar o arquivoPygame.mixer.Sound.stop()
33
DUVIDAS?