Brújula

En esta aplicación vamos a hacer una brújula utilizando el sensor de orientación del móvil.

El sensor de orientación es un componente que nos permite determinar la orientación espacial del dispositivo móvil. Para ello nos proporciona tres valores:

  • Roll: mide la inclinación del móvil en relación a los laterales.
  • Pitch: mide la inclinación del móvil en relación a la parte anterior y posterior.
  • Azimuth: Se mide desde el punto cardinal Norte en sentido antihorario de 0 a 360º. Si la parte anterior del móvil está orientada al Norte, el azimuth tiene un valor 0. Si la parte izquierda del móvil está orientada al Norte, el azimuth tiene un valor de 90, etc.
 


Vamos a crear un primer evento de prueba para ver cómo funciona el sensor de orientación en tu móvil:

Coge tres etiquetas y ponlas en la pantalla, una será para ver el valor del Roll, otra para el Pitch y la tercera para el Azimuth. Arrastra un componente OrientationSensor y ya puedes ir a programar el código. Dentro del Editor de Bloques escribe el siguiente código:


Ya sabemos cómo funciona nuestro sensor de orientación.
Ahora vamos a crear una aplicación que será una sencilla brújula, utilizando la propiedad Azimuth.

Primero descárgate los materiales necesarios a tu ordenador y luego súbelos a tu proyecto:

 

En nuestro proyecto necesitaremos:

  • 1 canvas, que será el fondo de la brújula
  • 1 ImageSprite, que será la flecha de la brújula (que se podrá mover)
  • 1 etiqueta Label, que nos dirá el valor del azimuth (orientación de la brújula)
  • 1 OrientationSensor
Coloca la imagen de la rosa de la brújula de fondo en el canvas y dale un tamaño de 310 píxeles de width y de height:


Para la flecha (ImageSprite) utiliza un tamaño de 287 píxeles de width y 295 de heigh.
Cmabia el nombre a la etiqueta y ajusta los detalles que consideres oportunos. Acuérdate de poner el icono de la app en las propiedades de la pantalla (Screen1).

Ahora, ya en el editor de Bloques, escribe el siguiente código:


Cada vez que cambia la propiedad azimuth del móvil, se moverá la imagen de la flecha y se mostrará un texto correspondiente al valor del azimuth en la etiqueta.

Comprueba que funciona.


Fuente: