私はWindows Phone(XNA)のための最初のゲームを作っています。 (加速度計は、この関数内でのみ宣言されたローカル変数であることに注意)ここでWindows Phone 8 Accelerometerのイベント
私初期化()関数内のコードがされています:私は、画面上の十字線の位置を変更するために加速度計を使用し
Accelerometer accelerometer = new Accelerometer();
accelerometer.CurrentValueChanged += accelerometer_CurrentValueChanged;
accelerometer.Start();
そしてイベントハンドラ:
void accelerometer_CurrentValueChanged(object sender, SensorReadingEventArgs<AccelerometerReading> e)
{
lock (accelerometerVectorLock)
{
accelerometerVector = new Vector3(
(float)e.SensorReading.Acceleration.X,
(float)e.SensorReading.Acceleration.Y,
(float)e.SensorReading.Acceleration.Z);
}
}
これは正常に動作しますWindows Phone Emulatorとコンピュータに接続され、Visual Studioから起動しているNokia Lumia 520では、(コンピュータに接続されていない)電話機でゲームを起動すると、accelerometer_CurrentValueChangedイベントはアプリケーションで一度だけ呼び出されるようです起動。
私のソリューションは次のように)(初期化のコード、その後、加速度計、私のゲームのクラスのメンバにすることでした。
accelerometer = new Accelerometer();
accelerometer.CurrentValueChanged += accelerometer_CurrentValueChanged;
accelerometer.Start();
だから私の質問は、なぜこのソリューションが動作しない、のですか?そして、同じデバイスであっても、VSから通常起動されるアプリケーションの違いは何ですか?
私はこの答えに満足しています。ありがとう – Przemen