App_AccelerometerSensor, lancio dadi

Il Sensore di accelerazione è un componente non visibile che può rilevare scuotimento e accelerazione del dispositivo. La misurazione avviene con unità SI (ms²). Le misurazioni avvengono con:

  • xAccel: Positivo quando il dispositivo è inclinato a destra (cioè, il lato sinistro è sollevato), e negativo quando il dispositivo è inclinato verso sinistra.
  • YAccel: Positivo quando il fondo è sollevato, e negativo quando la parte opposta è sollevata.
  • ZAccel: Positivo quando il display è rivolto verso l'alto, e negativo con il display all’inverso.

Questa applicazione simula il lancio di 2 dadi allo scuotimento del dispositivo.
Per rendere più evidente il meccanismo, durante lo scuotimento viene fatto emettere un suono. Per la natura del componente è indispensabile l’uso di un dispositivo esterno, invece dell’emulatore del MIT.
Sul display sono sempre visibili i valori xAccel, xyAccel, zAccel che cambiano al movimento del dispositivo. A titolo di esempio è stato implementato il lancio dadi anche all’evento click di un pulsante.

Componenti e proprietà da assegnare:

Componente

Gruppo

Nome

Proprietà

Text

Width

Horiz.

ScreenArr.

HA

fillparent x 120pixel

Image

Basic

iDadoA

0.png

Automatic

Image

Basic

iDadoB

0.png

Automatic

Label

Basic

lXYZ

X= Y= Z= TextColor=red

Fill parent

Button

Basic

bLanciaDADI

Lancia DADI

Fill parent

Notifier

Other stuff

Notifier

AccelerometerSensor

Sensor

AccelerometerSensor

Sound

Media

Sound

Suono.mp3

Come dovrebbero presentarsi la pagina Design e l’Emulatore:
Aprire Blocks Editor
Dei file delle immagini dei dadi (file da 0.png a 6.png) deve essere fatto uplaod dalla pagina Design.
I file con le immagini dei dadi hanno per nome quello dell’immagine corrispondente al dado, ad es. 1.png ha l’immagine del dado 1, 2.png dado 2 e così via.
Da pagina Design fare upload anche del file audio Suono.mp3 e assegnarlo al componente Sound.
Poiché il contorno dei dadi è nero, all’avvio dell’applicazine il display viene colorato di nero.
Con la lettura del blocco AccelerometerSensor.AccelerationChanged vengono acquisiti e poi messi a video i valori di xAccel, yAccel, zAccel.
Vengono assemblati i blocchi per mescolare e mettere a video i dadi.
Sul blocco contenitore c’è la dicitura when AccelerometerSensor.Shakink do. che può essere tradotto:
quando (when) AccelerometerSensor viene scosso (Shaching) fare (do).
Quando il dispositivo viene scosso con Sound.Play viene fatto emettere il suono.
Poi con random integer vengono estratti, per ciascun dado, 2 numeri casuali fra 1 e 6.
L’unica cosa da fare è assegnare il file grafico del numero estratto al componente contenitore di immagine (lDadoA.Picture e lDadoB.Picture)e questo appare sul display.
In Blocks Editor sono stati assemblati anche dei blocchi identici e quelli appena visti, si attivano al click sul pulsante Lancia DADI.