Ontem terminei o curso de extensão da PUC de desenvolvimento de NCL / Lua (o nome oficial não é este, mas estou com preguiça para escrever Curso de Desenvolvimento de Aplicações e Conteúdo para TV Digital Com Ginga-NCL)...
Anyways, como parte dos meus estudos fiz algumas dúzias de pequenos arquivos NCL / Lua, dos quais estou postando um pequeno exemplo aqui. Como notei que muita gente ainda fica com dúvida sobre como fazer algumas coisas mais básicas (timers, disparar um elo a partir do NCL, enviar SMS etc) o exemplo propõe um menu acionado pelas teclas de 1 a 9 que demonstram de forma simples (e, espero, divertida) como fazer algumas coisas legais com NCLua. As opções 1 e 9 não puderam ser testadas plenamente por falta de suporte ao envio de SMS e TCP no emulador Java.
Na imagem abaixo vemos as opções como "Luas" que giram em órbitas perfeitas ao redor de um planeta (representado pelo círculo verde). Cada Lua representa uma opção do menu (doh).
As opções disponíveis, são:
1. Envia um SMS (não funciona no emulador NCL Java)
2. Zoom IN
3. Zoom OUT
4. Exclui luas de 5 a 9 (de uma vez)
5. Reinsere luas de 5 a 9 (uma após a outra apos um pequeno intervalo)
6. Dispara um halo de energia (lol) que "empurra" as luas para o espaço profundo (2xlol)
7. Reset (volta luas ao estado inicial)
8. Inicia vídeo no NCL através de uma âncora (<area>) e um conector onBeginStart
9. Simples exemplo de request via TCP/IP (exibe retorno, se houver, como uma mensagem)
A instalação é muito simples:
1. Copie os arquivos ncl e lua para um diretório qq
2. Crie o sub-diretório "media" no diretório onde reside os arquivos ncl e lua
3. Copie o arquivo space.png para o diretório media
4. Coloque algum arquivo mpeg com o nome video1.mpg no diretório media
5. Inicie o emulador, selecione o arquivo zeppelin.13.ncl e dê Play
Uso
Controle remoto do emulador. Teclas também funcionam, mas o controle remoto funciona melhor.
Alguns comentários:
1. Não tive tempo para testar com a versão do emulador C++, então não sei se funcionará com o mesmo
2. Isto é um exemplo de sala de aula...não espere muita coisa do mesmo
3. A CPU vai a 100% durante a execução. Não pude determinar se isto é um problema do código ou do emulador. Se as luas começarem a girar de forma irregular (dando saltos ou piscando), simplesmente dê um STOP e em seguida um novo PLAY.
BTW: Estou começando o desenvolvimento de um framework open-source para facilitar o desenvolvimento de aplicações gráficas com NCLua. A idéia é criar uma biblioteca para manipular objetos num canvas, adicionar novos primitivos dinamicamente, controlar teclado, fazer formulários etc. Alguém se interessa em participar?
Emerson
Autor: emerson lopes
22 comentários