Working with Accelerometer Windows Phone c#





5.00/5 (1 vote)
Link between Accelerometer and composant in xaml
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 !