-
Notifications
You must be signed in to change notification settings - Fork 0
FAQ_pt
English | Français | Deutsch | Italiano | Español | Português | Slovenščina | Українська | Русский
O PyGameMaker é um IDE de desenvolvimento de jogos de código aberto, inspirado no GameMaker 7.0. Permite-lhe criar jogos 2D usando programação visual (Google Blockly) ou um sistema de eventos-ações, sem precisar de escrever código.
Sim! O PyGameMaker é completamente gratuito e de código aberto — o código-fonte está sob a Licença MIT, e a documentação sob CC BY 4.0.
- Windows (.exe autónomo)
- HTML5 (navegadores web)
- Linux (executável nativo)
- Móvel (iOS/Android através do Kivy)
Não! O PyGameMaker foi desenhado para iniciantes. Pode criar jogos usando:
- Blocos Blockly de arrastar e soltar
- Sistema de eventos/ações point-and-click
- Sem qualquer código
O PyGameMaker é inspirado no GameMaker 7.0 mas usa o seu próprio formato de projeto. Não pode importar ficheiros do GameMaker diretamente, mas os conceitos e o fluxo de trabalho são semelhantes.
- Python 3.10 ou superior
- Windows, Linux ou macOS
- Mínimo 4 GB de RAM (8 GB recomendados)
- ~500 MB de espaço em disco
Veja Comecar_pt para instruções de instalação detalhadas. Versão resumida:
git clone https://github.com/Gabe1290/pythongm.git
cd pythongm
python -m venv venv
source venv/bin/activate # ou venv\Scripts\activate no Windows
pip install -r requirements.txt
python main.pyCertifique-se de que o Python está instalado e adicionado ao PATH do sistema. Verifique executando:
python --versionSe isto falhar, reinstale o Python e ative "Add Python to PATH" durante a instalação.
Tente reinstalar as dependências:
pip install -r requirements.txt --force-reinstallOs projetos são guardados em pastas que você escolhe. Cada projeto contém:
-
project.json- O ficheiro principal do projeto - Pastas para sprites, sons, objetos, salas, etc.
Atualmente, o PyGameMaker abre um projeto de cada vez. Use File > Open Project para alternar entre projetos.
Basta copiar toda a pasta do projeto. Todos os recursos e configurações estão contidos nela. Considere também usar o git para controlo de versões:
cd meu_projeto
git init
git add .
git commit -m "Cópia de segurança inicial"Tente estes passos:
- Verifique se
project.jsonexiste e não está vazio - Abra
project.jsonnum editor de texto para procurar erros JSON - Restaure a partir de uma cópia de segurança, se disponível
- Verifique a saída da consola para mensagens de erro específicas
- Objeto: Um modelo/molde que define o comportamento
- Instância: Uma cópia específica de um objeto colocada numa sala
Por exemplo, obj_inimigo é um objeto. Colocar 5 inimigos numa sala cria 5 instâncias de obj_inimigo.
Causas comuns:
- Tipo de evento errado: Certifique-se de usar o evento correto (ex. "Key Press" em vez de "Keyboard")
- Sem instâncias: O objeto tem de ter instâncias na sala
- Objeto não visível: Verifique a propriedade visible
- Ordem de execução: Alguns eventos executam antes de outros
Use eventos de colisão:
- Abra o objeto que deve detetar a colisão
- Adicione o evento Collision with [outro_objeto]
- Adicione ações para o que acontece na colisão
- Keyboard [tecla]: Dispara a cada quadro enquanto a tecla está pressionada
- Key Press [tecla]: Dispara uma vez quando a tecla é pressionada pela primeira vez
- Key Release [tecla]: Dispara uma vez quando a tecla é solta
A primeira sala na árvore de recursos (no topo da lista) carrega ao iniciar o jogo. Arraste as salas para as reordenar.
Use as ações de sala:
- Next Room: Vai para a próxima sala em ordem
- Previous Room: Vai para a sala anterior
- Go to Room: Salta para uma sala específica
Os objetos são destruídos ao sair de uma sala, a menos que estejam marcados como Persistent nas suas propriedades.
O tamanho da janela do jogo corresponde às dimensões da primeira sala. Pode:
- Alterar o tamanho da sala para corresponder ao tamanho de janela desejado
- Usar Views para mostrar apenas parte da sala
- PNG (recomendado, suporta transparência)
- JPEG/JPG
- BMP
- GIF (apenas o primeiro quadro)
Verifique a definição Origin no editor de sprites. A origem é o ponto de ancoragem para o posicionamento. Definições comuns:
- Superior esquerdo (0, 0): Padrão
- Centro: Bom para objetos rotativos
- Centro inferior: Bom para personagens
- Crie um sprite com vários quadros (tira horizontal)
- Defina Number of Frames nas propriedades do sprite
- Ajuste a Animation Speed (quadros por segundo)
Isto acontece ao redimensionar sprites. Para pixel art, desative a interpolação/suavização nas definições do jogo, se disponível.
- WAV (não comprimido)
- OGG (recomendado para música)
- MP3
Verifique:
- Se o ficheiro de áudio existe na pasta sounds
- Se o formato do ficheiro é suportado
- Se está a usar o nome de som correto nas ações
- O navegador pode exigir interação do utilizador (para HTML5)
Use a ação Play Music com a opção de loop ativada, ou Play Sound com o parâmetro loop definido como verdadeiro.
Problemas comuns:
- Windows: DLLs em falta — certifique-se de que toda a pasta de saída está incluída
- HTML5: O navegador bloqueia ficheiros locais — aloje num servidor
- Recursos em falta: Verifique se todos os ficheiros estão incluídos
O tamanho do jogo inclui o Python e todas as bibliotecas. Para o reduzir:
- Remova recursos não usados
- Comprima imagens e áudio
- Use formatos apropriados (OGG em vez de WAV)
- Ative a compressão UPX para builds de Windows
Sim! Os jogos que criar são inteiramente seus e podem ser vendidos. O código-fonte do PyGameMaker está sob a permissiva Licença MIT, por isso pode usá-lo livremente em projetos comerciais — e, ao contrário das licenças copyleft, não é obrigado a tornar open-source as suas próprias modificações.
- Abra um objeto
- Clique na aba Blockly no editor de objetos
- Aparece a área de trabalho de programação visual
Ambos os sistemas trabalham sobre o mesmo objeto. A aba Blockly e a aba Events mostram vistas diferentes da mesma lógica. As alterações num refletem-se no outro.
Verifique:
- Se está a ver o objeto correto
- Percorra a área de trabalho (os blocos podem estar fora do ecrã)
- Verifique o nível de zoom
Dicas para melhor desempenho:
- Reduza o número de instâncias
- Evite cálculos pesados nos eventos Step
- Use alarmes em vez de contar quadros
- Otimize os tamanhos dos sprites
- Destrua as instâncias que saem da sala
O evento Step executa a cada quadro (60 vezes por segundo por defeito). Use:
- Alarmes para ações atrasadas
- Condições a verificar antes de operações pesadas
- Uma velocidade de sala mais baixa, se apropriado
Reporte bugs na página GitHub Issues. Inclua:
- O que esperava que acontecesse
- O que realmente aconteceu
- Passos para reproduzir o problema
- O seu sistema operativo e versão de Python
- Comecar_pt - Instalação e fundamentos
- Primeiro_Jogo_pt - Tutorial passo a passo
- Eventos_e_Acoes_pt - Referência completa
- Programacao_Visual_pt - Guia do Blockly