Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Working with Accelerometer Windows Phone c#

0.00/5 (No votes)
6 Aug 2014 1  
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 !

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here