在WP7中方向感應器的偵測(Accelermoter)
在目前新的手機上都配有方向感應器(或是稱加速度計?),很常見的用途是當你的手機改變方向的時候,畫面也可以隨著方向的變更進行自動的切換,這真是一個很優的功能;或是一些類似賽車等的小遊戲,甚至不需要方向鍵來操控方向,直接用偵測器來偵測手機擺動的方向,玩起來更有感覺;那麼在WP7中應該要怎麼去抓目前手機的方向出來呢? 下面簡單的做個測試,首先要先引入命名空間 using Microsoft.Devices.Sensors; 之後利用Accelerometer類別就可以偵測了,主要必須要處理ReadingChanged的事件,例如下面的方式 try { Sensor = new Accelerometer(); Sensor.ReadingChanged += new EventHandler (Sensor_ReadingChanged); Sensor.Start(); tbState.Text = "Accelermoter detect started"; } catch (AccelerometerFailedException) { tbState.Text = "Start Acceleromter error"; } 事件處理的程式碼部分大致會像是下面這樣子 void Sensor_ReadingChanged(object sender, AccelerometerReadingEventArgs e) { this.Dispatcher.BeginInvoke(() => ReadingChanged(e)); } void ReadingChanged(AccelerometerReadingEventArgs e) { tbData.Text = "X: " + e.X.ToString() + Environment...