Idez
Upcoming SlideShare
Loading in...5
×
 

Idez

on

  • 2,127 views

 

Statistics

Views

Total Views
2,127
Views on SlideShare
2,127
Embed Views
0

Actions

Likes
0
Downloads
61
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Idez Idez Presentation Transcript

  • CRIANDO JOGOS COM PYTHON E PYGAME
    Diego Lopes Marques da Silva
    diego.lopes@dce.ufpb.br
    http://sites.google.com/site/lmsdiego/
    Max Azevêdo da Silva
    Max.azevedo@dce.ufpb.br
  • Onde Baixar?
    Python:
    http://www.python.org/
    Pygame:
    http://www.pygame.org/news.html
    2
  • Versões
    Optamos por usar as versões
    Python 2.6
    Pygame 1.9
    3
  • Porque Python e Pygame?
    Fracamente tipada
    Fácil identação
    Abstração dos "códigos pesados“
    4
  • 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.
    5
  • Jogos feitos com Pygame
    • Legacy Of Magic
    6
  • Jogos feitos com Pygame
    • Frets on fire
    7
  • Jogos feitos com Pygame
    • PyQuimica
    8
  • Elementos do Pygame
    • Tela – Elemento principal de um jogo. É nela onde tudo começa. É considerada a superfície principal
    9
  • Elementos do Pygame
    • Eventos
    • Imagem
    10
  • Elementos do Pygame
    • Texto
    • Surface
    11
  • Elementos do Pygame
    • Sprite
    Sprites são imagens com animação geralmente usados como personagens, inimigos ou objetos móveis
    12
  • 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.
    13
  • Elementos do Pygame
    • Sons
    14
  • CRIANDO UMA TELA
    • importpygame
    Esta linha serve para importar o módulo Pygame
    • frompygame.localsimport *
    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)
    15
  • 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
    16
  • 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
    17
  • CRIANDO UMA TELA
    • tela.fill((corR,corG,corB))
    Define o cor de fundodatela, no formato RGB ou HEXADECIMAL.
    http://www.efeitosespeciais.net/tabela.htm
    • tela.blit(superficie,(int,int))
    Pintaumasuperfícienatela.
    • pygame.display.flip()
    Atualiza a tela.
    18
  • 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()
    19
  • A FUNÇÃO DRAW()
    • O módulo draw, serve para desenhar figuras básicas em superfícies como, círculo, retângulo, etc.
    • LINHA
    pygame.draw.line(superfície, (corR,corG,corB), (posXinicio,posYinicio),
    (posXfinal,posYfinal),
    largura)
    20
  • 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))
    21
  • 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))
    22
  • 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.
    23
  • Eventos do Mouse
    Diretamente
    pygame.mouse.get_pressed()[0]
    pygame.mouse.get_pressed()[1]
    pygame.mouse.get_pressed()[2]
    24
  • Eventos do Mouse
    pygame.mouse.get_pos()
    Pega a posição do mouse
    25
  • 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.
    26
  • 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áriavelimagemRect que vai criar um retângulo na figura de acordo com a posição passada.
    27
  • A FUNÇÃO RECT
    Agora com a imagem “circulada”, podemos fazer com que o mouse a identifique, através do método collidepoint.
    if
    iconeRect.collidepoint(pygame.mouse.get_pos()):
    print("ok")
    28
  • 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))
    29
  • 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.
    30
  • Adicionando Sons
    Para adicionar sons em Pygame, é muito simples.
    Primeiro importamos o módulo mixer.
    importpygame.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()
    31
  • 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 arquivo
    Pygame.mixer.Sound.play()
    Para parar o arquivo
    Pygame.mixer.Sound.stop()
    32
  • DUVIDAS?
    33