Arquivos da Categoria: Flash

AS3Console

AS3Console é um componente para entrada e saída de texto desenvolvido em Actionscript3 para a plataforma Flash. Eu o criei ao trabalhar num projeto onde o arquivo SWF, obrigatoriamente, rodaria sobre uma camada de código Javascript, resultando num sistema que era executado somente no navegador. Já que não podia usar o trace, eu precisava de uma saída de texto sem instalar nenhum progama/plugin ou ocupar área na tela. Essa solução precisava ser invisível para o programa hospedeiro e também para o usuário final. Baseando-me nessas necessidades, eu escrevi este componente enquanto desenvolvia o projeto principal.

Suas principais caracteristicas são:

  • o componente é um singleton, derivado da classe EventDispatcher;
  • suporta entrada e saída de texto;
  • teclas de atalho para esconder/exibir sua interface gráfica;
  • facilidade de remove-lo em releases; e
  • totalmente sem dependências.

Finalizado o projeto principal, notei que o componente de console ficou razoavelmente útil. Então decidi torná-lo opensource e investir um pouco do meu tempo na melhoria dele.
O projeto é distribuido sob a licença LGPL e está hospedado no google code. Lá é possível encontrar o código fonte, o SWC pré-compilado, a documentação e um aplicativo de exemplo.

Ir para a página do projeto.
Executar o aplicativo de exemplo.

Flash e Alchemy

Alchemy é um projeto de pesquisa da empresa Adobe Systems onde o objetivo é compilar códigos escritos em C/C++ para o bytecode da AVM2 (máquina virtual usada no Flash Player e Adobe AIR). Logicamente, o código gerado tende a ser mais rápido, graças a massiva otimização dos compiladores C e, também, devido o modelo de memória da linguagem onde – no reducionismo – tudo se resume a bytes.

Logo no começo dessa empreitada eu esperava uma diferença gritante de desempenho entre os códigos gerados. No entanto, de todos computadores que o aplicativo foi testado a maior diferença foi de oito frames por segundo a favor do Alchemy.

O teste consistiu na criação de um sistema de partículas (Particle System em inglês) para simular fogo. Dois renderizadores foram criados: um escrito em Actionscript3 e compilado na IDE do Flash e outro em C compilado com o Cygwin através do Alchemy. O trabalho de cada renderizador consiste em desenhar o sistema de particulas sobre um bitmap que será exibido na tela. Os algoritmos desenvolvidos em ambas linguagens são extremamente semelhantes, ficando as diferenças a cargo dos diferentes conceitos das linguagens.

O código fonte é distribuído sob a licença LGPL (Lesser GNU Public License).
Download ParticleSystem – código fonte (Actionscript3 e C)
Executar ParticleSystem (requer Flash Player 10)