Pular para o conteúdo principal

1.2 Pacotes gráficos e UI

API LCDUI

 
 

Há dois níveis de Interface de Usuário (UI) no pacote LCDUI da configuração MIDP: Alto e baixo nível.

 
 

APIs alto nível contém o conjunto de básico de componentes para a construção de um aplicativo J2me. Sua utilização aumenta a portabilidade. Na verdade é esperado que esta implementação fará a adaptação necessária do hardware e estilo nativo de UI deste.

 
 

APIs baixo nível são principalmente usados em jogos e aplicativos que requerem trabalhar com gráficos interativos e componentes customizados. A intenção do Canvas é usar componentes customizados, por exemplo, Canvas pode ser utilizado numa aplicação de relógio. Aplicativos que fazem uso desta vertente possuem a portabilidade prejudicada, pois uma API de baixo nível acessa detalhes que são específicos de um determinado aparelho.

Para detalhes sobre o funcionamento e estrutura do pacote LCDUI, veja a especificação MIDP 2.0 em http://www.jcp.org/en/jsr/detail?id=118 .

O que é API?

Veja aqui: http://pt.wikipedia.org/wiki/API

 
 

API GAME

 
 

O pacote da API Game, que é uma extensão do pacote LCDUI, que por sua vez deriva de MIDP 2.0, provê uma série de classes que nos permitem criar conteúdo rico para jogos em dispositivos móveis.

 
 

Como os aparelhos portáteis possuem baixo poder de processamento, a API tenta aumentar a performance reduzindo o montante de tarefas que serão executados em java, acabando por reduzir o tamanho do aplicativo. A API é estruturada de forma a nos permitir total liberdade de implementação, o que significa maior uso de código nativo, aceleração de hardware, formatos de imagens específicos de algum aparelho, se necessário.

 
 

A API usa classes padrão de baixo nível da MIDP ( Graphics, Image, etc ), então classes alto nível da API Game podem ser utilizadas em conjunto com gráficos primitivos. Ex, podemos renderizar na tela um poderoso plano de fundo usando a API Game e renderizar em cima desta usando gráficos primitivos, como drawLine, etc.

 
 

API M2G

 
 

Esta API manipula gráficos de vetores escaláveis 2D, incluindo aí imagens externas e animações SVG. Indicado o uso para aparelhos de maio poder de processamento, memória e tela.

 
 

API M3G

 
 

A função dessa API é prover eficiente e flexível manipulação gráfica 3D, em tempo real. Esta API é indicada para aparelhos que não suportam gráficos 3D por hardware. A API tem sido implementada para tipo de hardware comum, entretanto é bem utilizada em aparelhos com alta característica de cores e hardware específico para gráficos 3D.

A API foi cuidadosamente integrada com a LCDUI, o que quer dizer que gráficos 3D ou 2D podem ser renderizados utilizando o mesmo que Canvas ou Image.

Manuseio de UI de menus

 
 

Como a UI de MIDP é altamente abstrata, não há nenhuma regra específica para softbuttons ( botões de função ) e menus.

Commands são definidos como apropriados para a implementação de botões de função e menus. Devemos procurar respeitar o estilo nativo de cada aparelho, por exemplo, o botão "voltar" que deve ser implementado no botão de função direito.

Em aplicativos voltados para negócios, usa-se comumente API de alto nível, pois o importante é a portabilidade do produto. APIs de alto nível emprega uma alto grau de abstração, significando controle mínimo sobre o "look n feel" apresentado, ou seja, quando usamos APIs de alto nível, espera-se que o trabalho de adaptação de estilo e hardware seja feito pela implementação. Encontramos APIs de alto nível nas subclasses de Screen.

Comentários

Postagens mais visitadas deste blog

Gamasutra's Postmorten: RiverMan Media's MadStone

Aqui vão os meus comentários sobre este postmortem. O jogo em questão, MadStone, foi desenvolvido para a plataforma WiiWare, vindo de um antigo sonho de publicar um jogo para Nintendo (dos fundadores da RiverMan). MadStone é um puzzle 2d, onde as peças vão caindo (assim como tetris) e que custa U$8.00 no WiiWare. Antes de publicar um jogo para WiiWare, a desenvolvedora havia já desenvolvido outros dois jogos casuais para PC, Cash Cow e Primate Panic. Tela do jogo MadStone Bom, vamos às dicas deixadas pelos desenvolvedores: O que funcionou: 1. Correr atrás da Nintendo: Entre contatar a Nintendo e se tornar um desenvolvedor autorizado, os desenvolvedores tiveram que correr um pouco atrás. A primeira lição é justamente essa, não é fácil correr atrás e muitas vezes temos que sair de nossa zona de conforto para conseguir as coisas. 2. Plataforma 2D: A decisão de desenvolver um jogo 2D foi tomada por algumas facilidades como ferramentas de arte mais simples, como o photoshop; Pouco código

Converter campo text para varchar – SQL Server 2000

Outro dia, conversando com um analista de sistemas no trabalho, este me perguntou, qual era melhor, usar o tipo text ou varchar no campo. Bom, baseado em minhas experiências, respondi que prefiro trabalhar com varchar. Mas antes, uma breve pesquisa no google nos mostrou que: text     Variable-length data with a maximum length of 2^31 - 1 characters varchar Variable-length data with a maximum of 8,000 characters fonte: Database Journal Depois de analisarmos o propósito a que o campo serviria, decidimos por um campo varchar(500). Se você, assim como eu, tentou utilizar uma alter table, alter column, deve ter visto um aviso do SQL Server de que isto não é possível de se fazer. Mas e agora? É isso mesmo que pensamos: temos que criar o novo campo e popular com o que havia no antigo campo. Exemplo: EXEC sp_rename 'tab_inf_nota.mensagem', 'mensagem_old', 'COLUMN'

My fist job @ game industry!

Yes, yes and yes! I have no words to describe this! Awesome, hot, wild! So, what I did? Work as Game Tester for  @LowpolyStudios The game Blowing Pixels Planet Defender for #iPhone was sended to Apple Store review in August 17 and is expected to launch in August 29, so stay tunned! Blowing Pixels Planet Defender, or just BPPD, is a Defender kind game, so you have to break the enemies invasion. Actually, this game is so addictive, like play Tetris! Your brain will enjoy, hwar, hwar, hawr... You can see more details @ developer's web sites: http://www.lowpoly-studios.com/ http://www.facebook.com/LowpolyStudios http://twitter.com/#!/lowpolystudios http://www.blowing-pixels.com/planet_defender.php Oh! Yeah, the Credit Screen: I'm in Testers part: ALEX CANCADO. So, fuck'n YEAH! Next related post I will write about how I get in touch with developer and my contribution about the game.