sábado, 26 de junho de 2010

Console para projetos em Flash

Yo!

Uma das coisas que sempre quis nos meus projetos em Flash era um console que mostrasse os traces dentro do código na versão "buildada", ou seja, "a quente", dentro do site. Isso serviria para tentar descobrir o que é que tá causando aquele maldito erro que acontece só quando o jogo tá publicado!

Pois bem, como estou fazendo uma biblioteca reunindo todas estas ferramentas, resolvi procurar por um console. Não demorou muito e eu encontrei o flash-console.

Simplesmente a melhor solução para o problema. Por que? Só vendo pra crer. Dentre as features da ferramenta, estão:
  • Console colorido. Ótimo para diferenciar warnings, errors, infos e debugs.
  • Monitor de fps. Para acompanhar a performance do jogo.
  • Monitor de uso da memória e de garbage collector. Muito importante para mostrar quanta memória seu jogo está ocupando e quando acontece o gc.
Se tivesse somente o primeiro item, já estaria feliz. Não contente, o autor ainda colocou mais features:
  • Monitor de objetos em memória. Mostrando uma árvore de objetos instanciados! Perfeito para ver a hierarquia e ver onde está aquele Sprite que não está aparecendo de jeito nenhum :)
  • Command line. Permite que você envie comandos para o Flash, como tornar um objeto visível, por exemplo. Em tempo de execução!
  • Régua para medir distâncias.
  • Log remoto! Um aplicativo em AIR pra acompanhar e enviar comandos para o console do seu jogo :)
  • Canais
Você deve estar imaginando que é muito difícil usar este console. Pois o setup desta ótima ferramenta não é nada mais que uma linha (além do import, claro):

import com.luaye.console.C;
C.startOnStage(this, "");


Onde this é um DisplayObjectContainer que já está no Stage ou vai ser colocado. Isto vai fazer com que o console apareça dentro do Stage. Caso queira que ele apareça dentro de um DisplayObjectContainer qualquer, o comando é:

C.start(this, "");

O segundo parâmetro é um atalho para mostrar/ocultar o console. Geralmente é o "aspas simples" ou "c" ou uma string, que precisa ser escrita na sequencia, como se fosse um cheat :).

Só explicando: C (com.luaye.console.C) é uma implementação default e estática/singleton de Console (com.luaye.console.Console). Serve para disponibilizar o acesso ao console para qualquer parte do código.

Para postar uma mensagem do informação, de erro ou debug:

C.info("info mensage");
C.error("error message");
C.debug("debug message");

Há muito mais features, mas o intuito aqui foi fazer vocês conhecerem esta library bem interessante e que levou mais tempo pra baixar o fonte que pra aprender a usar, hahahah! Quem quiser mais detalhes sobre esta ferramenta, entre na página oficial dela e leia o pequeno tutorial que está lá.

O melhor de tudo isso é que é opensource! Podem apostar que esta ferramenta estará disponível na bilibioteca que estou criando.

Até mais!

Nenhum comentário: