2

Windows 8 Metroの場合-タブレットでの使用を目的としている場合、デバイスが振られたか移動されたかを検出することはできますか?

この記事では、デバイスの動きについては説明していないようです。

これが可能な場合、利用可能なオンラインチュートリアルまたはコードスニペットはありますか?

4

1 に答える 1

3

私はあなたが加速器を探していると思います。

using Windows.UI.Core;
using Windows.Devices.Sensors;

namespace AccelerometerCS
{

    partial class BlankPage
    {
        // Sensor and dispatcher variables
        private Accelerometer _accelerometer;

        // This event handler writes the current accelerometer reading to 
        // the three acceleration text blocks on the app's main page.

        private void ReadingChanged(object sender, AccelerometerReadingChangedEventArgs e)
        {
            Dispatcher.InvokeAsync(CoreDispatcherPriority.Normal, (s, a) =>
            {
                AccelerometerReading reading = (a.Context as AccelerometerReadingChangedEventArgs).Reading;
                txtXAxis.Text = String.Format("{0,5:0.00}", reading.AccelerationX);
                txtYAxis.Text = String.Format("{0,5:0.00}", reading.AccelerationY);
                txtZAxis.Text = String.Format("{0,5:0.00}", reading.AccelerationZ);

            }, this, e);
        }

        public BlankPage()
        {
            InitializeComponent();
            _accelerometer = Accelerometer.GetDefault();

            if (_accelerometer != null)
            {
                // Establish the report interval
                uint minReportInterval = _accelerometer.MinimumReportInterval;
                uint reportInterval = minReportInterval > 16 ? minReportInterval : 16;
                _accelerometer.ReportInterval = reportInterval;

                // Assign an event handler for the reading-changed event
                _accelerometer.ReadingChanged += new TypedEventHandler<Accelerometer, AccelerometerReadingChangedEventArgs>(ReadingChanged);
            }

        }
    }
}
于 2012-08-31T18:26:50.310 に答える