O acelerômetro é um recurso bastante interessante e que pode ser utilizado como elemento de interação para o jogo. Sua utilização consiste em saber manipular 3 movimentações disponíveis pelo retorno do acelerômetro, sendo essas: pitch, yaw e roll.
Os dados do acelerômetro são retornados sempre em intervalos entre -1 e 1 sendo os valores representando os limites conforme:
- Eixo X: o aparelho deitado para esquerda apresentará valor -1 e deitado para direita o valor 1;
- Eixo Z: se o aparelho estiver virado para cima retornará o valor -1 e com a tela virada para baixo retornará o valor 1; e
- Eixo Y: estando o aparelho em pé, ele retornará o valor -1 e estando de cabeça para baixo, retornará o valor 1.
Fonte da figura: http://www.iseismometer.com
A codificação passa pela instanciação do acelerômetro (primeira linha) e sua inicialização (segunda linha) para efetivamente começar a capturar os dados do acelerômetro. Em seguida é preciso, quando necessário, fazer a aquisição dos dados (terceira linha). A aquisição retorna os parâmetros dos 3 eixos do acelerômetro e essas estão sendo atribuídas para as variáveis X, Y e Z. Normalmente a etapa de aquisição ocorre em uma função executada em cada frame, sendo que no código abaixo ela apenas pegará os dados do acelerômetro quando a aplicação é executada.
local accelerometer = Accelerometer.new() accelerometer:start() local x, y, z = accelerometer:getAcceleration() print (x, y, z)
O teste da aplicação precisa obrigatoriamente ser executada a partir do celular, não estando disponível no Gideros Player.