Desenvolvendo um Jogo para Desktop controlado pelo Celular via Bluetooth
Parte III – Utilizando a Mobile Sensor API para controlar o jogo através de movimentos no aparelho celular
LEAD: BOX
De que se trata o artigo:
O artigo trata do desenvolvimento de jogos para Desktop, o qual é controlado pelo movimento do aparelho celular. O artigo é dividido em três, onde: no primeiro foi apresentada a utilização da classe Canvas para manipulação de interfaces gráficas de baixo nível. No segundo artigo desta série, foi apresentada a tecnologia Bluetooth para a comunicação entre o telefone celular e o computador desktop, a qual possibilita transferir o controle do jogo para o aparelho celular. Nesta terceira e última parte da série, o controle do jogo que é feito pelo celular receberá o aporte da Mobile Sensor API. Com isso, os sensores do aparelho celular percebem sua movimentação para todos os lados, recuperando estas informações e repassando ao desktop através da comunicação Bluetooth.
Para que serve:
Utilizar a tecnologia Bluetooth para comunicação entre dispositivos, podendo ser celular/celular ou celular/aplicativo Desktop. Além disso, adicionar o pacote opcional Mobile Sensor, para poder capturar informações do sensor de movimento do aparelho e transformá-los em comandos para o jogo.
Em que situação o tema é útil:
Na comunicação entre dispositivos utilizando a tecnologia Bluetooth e na utilização dos sensores do aparelho móvel através da Mobile Sensor API.
A utilização de sensores está se tornando comum no dia-a-dia. Há inúmeros exemplos de tipos e usos destes equipamentos que ajudam a traduzir de forma mais amigável a iteração entre pessoas e as máquinas. Além disso, seu uso passou a ser incorporado em equipamentos cada vez menores, sendo atualmente embarcado também em telefones celulares.
Hoje, podem-se controlar jogos pelo pressionamento de botões, acionamentos de alavancas, pela movimentação do controle e até pela mente através de sensores que captam as ondas cerebrais e as transformam
Já existem também as casas digitais, que utilizam diversos sensores para captar tudo que o usuário faz e/ou necessita, interagindo de forma ubíqua com o mesmo. Certas casas captam o estado de espírito dos seus habitantes, configurando as cores e o som ambiente da moradia de acordo com estes dados. Ainda, alguns ambientes tecnológicos (também chamados de casas) têm sensores de chuva nas janelas, sendo fechadas automaticamente quando percebem a possibilidade de chuva eminente.
E o que falar da indústria automotiva? Sensores de estacionamento tornaram-se itens comuns em automóveis de grande porte. Alguns modelos também apresentam sensores de luz ou sensores nos faróis que acompanham o movimento do carro em curvas fechadas.
E na era dos aparelhos celulares é importante citar que a operadora japonesa de telefonia celular, a NTT DoCoMo, trabalha em uma nova geração de telefones celular que serão controlados pelo movimento do usuário, tudo isso através de sensores. E tem mais, já existem protótipos de telefones celulares que são controlados através de ondas cerebrais dos usuários, no melhor estilo Matrix.
Tratando especificamente de sensores em telefones celulares e a plataforma Java ME, pode-se dizer que já é possível criar aplicativos que utilizem as informações capturadas por diversos sensores, através do pacote opcional chamado de Mobile Sensor API (JSR-256).
Neste artigo, que é o terceiro de uma série que começou com o desenvolvimento de um jogo da velha Desktop controlado pelo teclado do computador e continuou com a transferência do controle do jogo para o aparelho celular via Bluetooth, iremos alterar o controle do jogo no celular, fazendo com que as ações do jogo sejam realizadas com o movimento no telefone celular, e não acionando os SOFT KEYS direcionais do aparelho.
Mobile Sensor API – JSR 256
A JSR 256 objetiva fornecer uma biblioteca de classes e interfaces que permitam aos desenvolvedores Java ME recuperar dados de sensores de forma fácil e uniforme. Esta JSR é aplicável à versão 1.1 da configuração CLDC (Connection Limited Decive Configuration) e à versão 1.0 da CDC (Connection Device Configuration).
Este pacote opcional adiciona diversas possibilidades aos programadores. Além de sua premissa básica de capturar dados de sensores, é possível inserir listeners aos dados medidos. Por exemplo, o aplicativo pode receber uma notificação quando o aparelho celular apresentar uma carga de bateria menor que 15% de sua carga total, ou ainda, no momento de enviar informações através de uma conexão HTTP, e a mesma estar inoperante, o aplicativo pode escolher ser avisado quando a mesma estiver operante e estável.
A Mobile Sensor API também suporta sensores que estejam atuando externamente, através de diversos tipos de conexão como Bluetooth, Wired ou até mesmo através de uma conexão HTTP. É importante ressaltar que esta API não tem nenhum controle operacional sobre os sensores. Ela apenas pode recuperar os dados fornecidos pelos mesmos.