Como calibrar o acelerômetro para o seu jogo html5
Por padrão, o jogo acelerômetro HTML5 assume a posição neutra de perfeitamente horizontal - ou seja, o dispositivo está deitado sobre uma mesa. No entanto, estes são os dispositivos móveis, e os jogadores, muitas vezes, quer ter a posição neutra estar em outro lugar.
A técnica básica para calibrar controles de inclinação é manter o controle de um valor de deslocamento para MACHADO e AY. Quando o usuário escolhe para recalibrar, os valores de deslocamento são alteradas para fazer uma nova posição neutra. Aqui está o código relevante:
accel.html
De alguma forma você precisa para desencadear a calibração. Para este exemplo, você adicionar um botão básico de calibração. Veja como funciona:
Adicionar offsetAX e offsetAY variáveis.
Video: Ataria relancando jogos classicos em html5
Estas duas variáveis indicam a quantidade posição neutra do dispositivo é diferente do que a atitude padrão flat-on-the-table. Comece as variáveis pelo valor zero.
Adicionar um botão de calibração.
Para este exemplo, o usuário pode recalibrar clicando em um botão.
Verifique se há um toque de botão.
A função foi criada para ler qualquer pressiona o botão.
Se o botão for pressionado, obter valores novo offset.
Quando o botão está ativo, encontrar a corrente MACHADO e AY valores solicitando-os a partir do Accel objeto.
offsets subtrair machado e ay em cada quadro.
Antes de quaisquer outros cálculos, subtrair o offsetAX a partir de MACHADO e offsetAY a partir de AY. Isso efetivamente definir a nova posição neutra para no entanto, o dispositivo foi ajustado a última vez que o botão foi clicado.
Apesar de um botão de calibração é muito fácil de implementar, por vezes, a calibração é feita automaticamente. Se você preferir, basta determinar offsetAX e offsetAY durante o nisso() função, ea atitude do dispositivo durante o nisso() função torna-se a atitude padrão. Isso não permite que o usuário para redefinir a calibração, mas ele não previne a congestionar a tela com um botão raramente usado.