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 jogoQuantidade de visualizações: 1180 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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# 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)
|
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
|
Java - Java Swing - Como criar sua primeira JTree usando um vetor de nomes de linguagens de programação |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





