11 fev
Código-FonteFlashPunk – Biblioteca ActionScript
- 2 COMENTÁRIOS
Além do nome e visual simpático, a biblioteca em ActionScript gratuita FlashPunk é simples de usar e oferece boas funcionalidades. Nos próximos parágrafos vamos falar sobre ela, dando mais detalhes sobre seu uso e citando exemplos.

Como uma boa biblioteca gratuita, a FlashPunk estimula o desenvolvimento livre e foi projetada para funcionar com o Flex SDK – também gratuito – e qualquer editor de texto. Na verdade o autor se declara apaixonado pelo FlashDevelop, uma IDE gratuita e de código-livre, tanto que o único tutorial oficial do site inclui uma sessão toda dedicada à instalação e configuração da ferramenta.
Apesar desta atenção dedicada, o procedimento é simples e a ferramenta ainda é bem completa, contando com as funcionalidades esperadas por um aplicativo deste tipo. E para quem não conhece, a instalação da API gratuita da Adobe é tão simples quanto descompactar o seu conteúdo em uma pasta qualquer. Em questão de minutos o ambiente está pronto para ser usado.
Apesar de se basear na plataforma Flex/Flash, a FlashPunk não suporta gráficos vetoriais, mas bitmaps. E partindo do suposto que os seus jogos vão sempre usar este tipo de gráficos ela tem a sua performance otimizada para suportar milhares de sprites animados. Por sinal, além das animações de sprites, uma característica muito boa dela é a capacidade de manter um determinado framerate, que você especifica no ponto de entrada do jogo, e que depois você pode se basear na implementação, pois algumas objetos fazem uso de um timer, especificado em frames.
Outra grande vantagem da FlashPunk é a sua documentação. Não necessariamente a especificação da sua API, mas a quantidade de informações disponíveis nos seus fóruns. É fácil encontrar resposta para dúvidas mais comuns, e a comunidade de desenvolvedores é bastante ativa, respondendo aos tópicos com uma velocidade animadora.
O ponto de entrada do jogo é sempre a classe Main.as, nela nós especificamos os parâmetros básicos do jogo, como tamanho da tela, escalonamento da mesma, o framerate desejado e qual será o mundo inicial do jogo. Este mundo precisa ser uma classe que estenda World.as, e que nós podemos considerar como sendo, cada mundo, uma tela do nosso jogo.
Além dessas duas classes, a FlashPunk oferece a classe Entity.as que representa uma entidade qualquer do jogo, que poderá ser adicionada a um mundo. Uma especialização de entidade é a classe Actor.as, que representa uma entidade que pode exibir e mudar animações. A classe FP.as dá acesso estático a informações importantes do jogo, facilitando a troca de dados entre as entidades do jogo. Maiores detalhes podem ser encontrados nos tutoriais.
O já mencionado tutorial oficial, “A Simple Game in FlashDevelop”, é realmente simples, completo – conta com várias imagens – e rápido. Em uma hora você o terá completado. Vale mencionar que o assunto coberto pelo tutorial é bem menor que o material disponível nos arquivos de exemplo, que conta com imagens de mísseis e inimigos, além de sons diversos, ou seja, não se intimide e tente fazer o jogo completo, o que não pareceu nada complicado.
Além dele encontramos este aqui, “Platform Game”, que ensina, obviamente, a construir um jogo de plataforma, cobrindo desde a animação do personagem, até a construção de níveis e física básica.
Enfim, a FlashPunk é uma biblioteca simples de se usar, com boas funcionalidades e uma documentação bem clara. Pode não ser muito poderosa, dependendo do que queira usar, mas ainda há sempre a possibilidade de juntar uma outra API para física, por exemplo.








Estava dando uma olhada nesta biblioteca ontem, muito boa mesmo!
Outra, de filosofia semelhante (Flash Develop + geração de jogos de gráficos bitmap rapidamente) é o Flixel.
Acho a documentação dela melhor que a do FlashPunk.
Ola Bruno!
Desculpe a demora em responder, mas eu dei uma olhada na Flixel e gostei bastante dela. Em princípio ela parece oferecer mais funcionalidades que a FlashPunk, como campos de texto e facilidades para a API do Kongregate.
A única coisa que até agora ainda acho melhor na FP é o controle do tempo do via FPS, feito na inicialização do jogo. Ainda não vi nada na Flixel sobre isso, mas pode ser que apareça mais a frente.
Vou tentar fazer uma análise comparativa um pouco mais detalhada e publicar aqui depois.
Valeu pela dica!