Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Python ::: Pygame ::: Animação, Animações, Técnicas de Animação

Introdução à animação de objetos no Pygame - Como mover uma imagem na superfície da tela do jogo

Quantidade de visualizações: 1082 vezes
Nesta dica eu mostrarei uma das técnicas mais básicas de animação no Pygame do Python. Trata-de de um exemplo simples que você poderá usar como base para desenvolver seus jogos. Aqui eu mostro como criar um timer pygame.time.Clock(), como definir a quantidade de frames por segundo FPS, assim como carregar e exibir a imagem a ser usada na animação.

Outras técnicas muito úteis que mostro é como definir a cor da tela do jogo, como definir o título, o tamanho da tela, o loop do jogo e o uso da função blit() para redesenhar a imagem na nova posição.

Veja o código Pygame completo para o exemplo:

# vamos importar as bibliotecas necessárias
import pygame, sys
from pygame.locals import *

# inicializa a biblioteca
pygame.init()

# quantidade de frames por segundo
FPS = 30
# construímos o timer
timer = pygame.time.Clock()

# obtém a superfície do jogo e define o tamanho da tela
DISPLAYSURF = pygame.display.set_mode((500, 400), 0, 32)
# vamos definir o título da janela do jogo
pygame.display.set_caption('Animações no Pygame')

# vamos criar a cor branca
BRANCO = (255, 255, 255)

#  a imagem que será usada na animação
moto = pygame.image.load('moto.png')
moto_x = 10
moto_y = 10
direcao = 'direita'

# e aqui nós entramos no loop do game
while True:
  # vamos pintar a tela toda de branco
  DISPLAYSURF.fill(BRANCO)

  # ajustamos a posição da imagem de acordo com a direção
  if direcao == 'direita':
    moto_x = moto_x + 5
    if moto_x >= 400:
      direcao = 'baixo'
  
  elif direcao == 'baixo':
    moto_y = moto_y + 5
    if moto_y >= 300:
      direcao = 'esquerda'
 
  elif direcao == 'esquerda':
    moto_x = moto_x - 5
    if moto_x == 20:
      direcao = 'cima'

  elif direcao == 'cima':
    moto_y = moto_y - 5
    if moto_y == 10:
      direcao = 'direita'
  
  # redesenha a imagem da moto na posição especificada
  DISPLAYSURF.blit(moto, (moto_x, moto_y))

  # monitoramos os eventos
  for evento in pygame.event.get():
    # se o evento foi um pedido para sair
    if evento.type == QUIT:
      # fechamos a tela do jogo 
      pygame.quit()
      # e saimos do programa
      sys.exit()

  # redesenha a tela continuamente 
  pygame.display.update()

  # aciona o disparo do timer
  timer.tick(FPS)


Link para compartilhar na Internet ou com seus amigos:

Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 16 usuários muito felizes estudando em nosso site.