Introduction
Accelerometer is used mostly on Games , then we can move objects with just moving our device and it's so easy to do that.
Using the code
Fisrt of all we create an instance of Accelerometer :
Accelerometer a = Accelerometer();
Then we precise the TimeBetweenUpdates,
means that how many time you want to update the change of accelerometer. For Example :
a.TimeBetweenUpdates = TimeSpan.FromMilliseconds(10);
Then you define the Event CurrentValueChanged
that will be called after any update to inform us the new x,y,z axes then we start.
a.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<AccelerometerReading>>(a_CurrentValueChanged);
a.Start();
so the responsible method that execute after update is a_CurrentValueChanged :
void a_CurrentValueChanged(Object sender, SensorReadingEventArgs<Microsoft.Devices.Sensors.AccelerometerReading> sr)
{
Dispatcher.BeginInvoke(() => UpdateUI(sr.SensorReading));
}
double x, y, z;
void UpdateUI(Microsoft.Devices.Sensors.AccelerometerReading ar)
{
Vector3 xyz = ar.Acceleration;
x += xyz.X;
y += xyz.Y;
z += xyz.Z;
After we get the three demension of accelerometer , we can now bind it to an object.
we create for example an Ellipse :
<Ellipse Width="50" Height="50" Fill="Blue" Name="cercle" />
on the code behind we link the Margin
of the Ellipse by the Vector xyz :
cercle.Margin = new Thickness(x * 15, -y * 15, -x * 15, y * 15);
You can modify the Speed of the Object by multiplying coordinates.
History
I thing it become so clear to work with accelerometer , you can now create your First Game !