pratica

Adicionando Imagens (Atores) ao Jogo

Aprenda sobre adicionando imagens (atores) ao jogo

35 min
Aula 1 de 5

Adicionando Imagens (Atores) ao Jogo

Olá, futuro(a) Game Maker! 👋 Na aula anterior, aprendemos a configurar nosso ambiente e a desenhar formas geométricas básicas. Mas convenhamos, jogos de verdade têm personagens e objetos que parecem... bem, personagens e objetos! 🚀

Nesta aula prática, vamos dar um salto gigantesco e aprender a adicionar imagens aos nossos jogos, transformando-as em "Atores" que podemos mover e controlar. Prepare-se para dar vida aos seus mundos virtuais! ✨


1. Introdução: Dando Vida ao Jogo com Atores

No Pgzero, o conceito de Ator (Actor) é fundamental. Um Actor é essencialmente uma imagem que você pode posicionar, desenhar na tela e interagir com ela. Pense neles como os personagens, inimigos, itens e cenários interativos do seu jogo.

Para usar um Actor, você precisa de duas coisas:

  1. Uma imagem: Um arquivo de imagem (PNG, JPG, etc.) que representará seu ator.
  2. O objeto Actor: Uma instância da classe Actor do Pgzero, que "carrega" essa imagem e permite manipulá-la.

Vamos mergulhar de cabeça e ver como isso funciona na prática! 🧑‍💻


2. Explicação Detalhada: Criando e Manipulando Atores

Antes de começar a codificar, precisamos de uma imagem.

2.1. Preparando suas Imagens 🖼️

O Pgzero é muito esperto! Ele espera que todas as imagens do seu jogo estejam em uma pasta chamada images (sempre em minúsculas) dentro do diretório principal do seu projeto.

Passo a passo:

  1. Crie uma pasta chamada images na raiz do seu projeto (onde está seu arquivo .py).

  2. Baixe ou crie uma imagem simples (por exemplo, uma nave espacial, um alien, uma bola) e salve-a dentro da pasta images. Sugestão: salve como nave.png (ou alien.png, bola.png).

    meu_jogo/
    ├── meu_jogo.py
    └── images/
        └── nave.png
    

2.2. Criando um Ator (Actor) 🎭

Para criar um ator, você usa a classe Actor e passa o nome do arquivo da imagem (sem a extensão .png, .jpg, etc.).

# No seu arquivo meu_jogo.py
 
# Importante: As constantes WIDTH e HEIGHT definem o tamanho da janela do jogo.
# Vamos usar um tamanho padrão para esta aula.
WIDTH = 800  # Largura da janela em pixels
HEIGHT = 600 # Altura da janela em pixels
 
# 1. Criando um Ator
# O Pgzero vai procurar por 'nave.png' na pasta 'images'.
nave = Actor('nave')

Neste exemplo, nave agora é um objeto Actor que representa a imagem nave.png.

2.3. Posicionando um Ator 📍

Quando você cria um Actor sem especificar uma posição, ele é posicionado por padrão no canto superior esquerdo da tela (coordenadas (0, 0)). Isso geralmente não é o que queremos!

Você pode definir a posição de um ator de várias maneiras:

  • Usando pos: Define o centro do ator.

    nave.pos = (400, 300) # Coloca o centro da nave no meio da tela (WIDTH/2, HEIGHT/2)
  • Usando x e y: Define as coordenadas do centro do ator individualmente.

    nave.x = 400
    nave.y = 300
  • Usando pontos de ancoragem: O Pgzero permite definir a posição usando diferentes pontos do ator, como topleft (canto superior esquerdo), midbottom (meio da parte inferior), center (centro), etc. Isso é super útil para posicionar atores de forma precisa.

    # Posiciona o canto superior esquerdo da nave em (10, 10)
    nave.topleft = (10, 10)
     
    # Posiciona o meio da parte inferior da nave no centro da tela
    nave.midbottom = (WIDTH / 2, HEIGHT)

    Para esta aula, vamos focar em pos ou x/y para simplificar, mas lembre-se das outras opções!

2.4. Desenhando um Ator 🎨

Assim como as formas geométricas, os atores só aparecem na tela se você os desenhar dentro da função draw().

def draw():
    screen.clear() # Limpa a tela a cada frame
    nave.draw()    # Desenha o ator 'nave' na sua posição atual

2.5. Movimentando um Ator (Básico) 🏃‍♀️

Para fazer um ator se mover, você precisa alterar sua posição (x ou y) ao longo do tempo. Isso é feito dentro da função update(), que é chamada várias vezes por segundo pelo Pgzero.

def update():
    nave.x = nave.x + 1 # Move a nave 1 pixel para a direita a cada atualização
    # Ou: nave.x += 1

Se a nave sair da tela, podemos fazê-la reaparecer do outro lado:

def update():
    nave.x += 1
    if nave.x > WIDTH + 50: # Se a nave sair da tela pela direita (+50 para garantir que toda a nave sumiu)
        nave.x = -50        # Volta a nave para o lado esquerdo (-50 para garantir que ela apareça de fora)

3. Código de Exemplo Oficial (Adaptado) 🐍

Vamos juntar tudo em um exemplo completo. Certifique-se de ter um arquivo nave.png na sua pasta images!

# meu_primeiro_ator.py
 
# --- Configurações da Janela ---
WIDTH = 800
HEIGHT = 600
TITLE = "Meu Primeiro Ator no Pgzero"
 
# --- Criação do Ator ---
# Certifique-se de ter uma imagem chamada 'nave.png' na pasta 'images'
nave = Actor('nave')
 
# --- Posição Inicial do Ator ---
nave.pos = (WIDTH / 2, HEIGHT / 2) # Posição inicial no centro da tela
 
# --- Função de Desenho ---
def draw():
    screen.clear() # Limpa a tela a cada frame
    screen.fill((0, 0, 80)) # Preenche o fundo com um azul escuro
    nave.draw() # Desenha o ator 'nave'
 
# --- Função de Atualização (Movimento) ---
def update():
    # Move a nave 2 pixels para a direita a cada atualização
    nave.x += 2
 
    # Se a nave sair completamente pela direita, faz ela reaparecer pela esquerda
    if nave.x > WIDTH + nave.width / 2: # nave.width/2 para considerar o centro do ator
        nave.x = 0 - nave.width / 2 # Volta para o lado esquerdo

Para rodar este código:

  1. Salve o código como meu_primeiro_ator.py.
  2. Crie uma pasta images no mesmo diretório.
  3. Coloque uma imagem nave.png dentro da pasta images.
  4. Abra o terminal na pasta do seu projeto e execute: pgzrun meu_primeiro_ator.py

Você deverá ver uma nave se movendo da esquerda para a direita, desaparecendo e reaparecendo! 🚀


4. Exercícios e Desafios (Prática!) 🧠

Agora é a sua vez de colocar a mão na massa! Use o código de exemplo como base e complete as tarefas abaixo.

Tarefas:

  • Tarefa 1: Adicione um Segundo Ator

    • Crie uma nova imagem (ex: alien.png) na pasta images.
    • Crie um novo objeto Actor chamado alien no seu código.
    • Posicione o alien em um local diferente da nave (ex: canto superior esquerdo).
    • Desenhe o alien na função draw().
  • Tarefa 2: Movimento Diferente para o Segundo Ator

    • Faça o alien se mover para baixo (incrementando alien.y).
    • Quando o alien sair da tela por baixo, faça-o reaparecer no topo.
  • Tarefa 3: Mude a Velocidade e Direção

    • Faça a nave se mover mais rápido ou mais devagar.
    • Faça o alien se mover para a esquerda em vez de para baixo.
  • Tarefa 4 (Desafio): Múltiplos Atores e Posições Aleatórias

    • Crie 3 ou 4 atores do mesmo tipo (ex: 3 aliens). Você pode ter alien1 = Actor('alien'), alien2 = Actor('alien'), etc.
    • Posicione cada um deles em posições iniciais diferentes na tela.
    • Faça cada um deles se mover em direções e velocidades ligeiramente diferentes (você pode usar import random e random.randint(min, max) para posições ou velocidades).

5. Resumo e Próximos Passos 🏁

Parabéns! 🎉 Você aprendeu a:

  • Organizar suas imagens na pasta images.
  • Criar objetos Actor para representar suas imagens.
  • Posicionar atores usando pos, x, y e outros pontos de ancoragem.
  • Desenhar atores na tela usando actor.draw().
  • Fazer atores se moverem alterando suas posições na função update().

Este é um passo gigante para criar jogos mais dinâmicos e visuais. Na próxima aula, vamos explorar como fazer nossos atores reagirem à entrada do jogador (como o teclado e o mouse), tornando o jogo interativo de verdade! 🎮 Prepare-se para controlar seus próprios personagens!

© 2025 Escola All Dev. Todos os direitos reservados.

Adicionando Imagens (Atores) ao Jogo - Game Maker: Python com Pgzero para Crianças | escola.all.dev.br