OrientationSensor Class

Rappresenta un sensore di orientamento.

Questo sensore restituisce una matrice di rotazione e un quaternione che possono essere utilizzate per regolare la prospettiva dell'utente in un'applicazione del gioco.

Sintassi


var orientationSensor = Windows.Devices.Sensors.OrientationSensor;

Attributi

[DualApiPartition()]
[MarshalingBehavior(Agile)]
[Threading(Both)]
[Version(0x06020000)]

Membri

OrientationSensorClasse include questi tipi di membri:

Eventi

OrientationSensorClasse include questi eventi.

EventoDescrizione
ReadingChanged Occurs each time the orientation sensor reports a new sensor reading.

 

Metodi

The OrientationSensor Classe dispone di tali metodi. In C#, Visual Basic e C++, eredita inoltre i metodi da Object Classe.

MetodoDescrizione
GetCurrentReading Gets the current sensor reading
GetDefault Gets the default orientation sensor.

 

Proprietà

Classe dispone di tali proprietà. di OrientationSensor

ProprietàTipo di accessoDescrizione

MinimumReportInterval

Sola letturaGets the minimum report interval supported by the sensor.

ReportInterval

Lettura/scritturaGets or sets the report interval supported by the sensor.

 

Note

L'esempio seguente mostra come un'app di Windows Store sviluppata con XAML e C# usa il metodo GetDefault per stabilire una connessione con un sensore di orientamento. Se non viene trovato alcun sensore di orientamento, il metodo restituirà un valore null.


_sensor = OrientationSensor.GetDefault();


Nell'esempio seguente viene illustrato come un'app di Windows Store scritta in XAML registra un gestore eventi ReadingChanged.


private void ScenarioEnable(object sender, RoutedEventArgs e)
{
    if (_sensor != null)
    {
        // Establish the report interval
        _sensor.ReportInterval = _desiredReportInterval;

        Window.Current.VisibilityChanged += new WindowVisibilityChangedEventHandler(VisibilityChanged);
        _sensor.ReadingChanged += new TypedEventHandler<OrientationSensor, OrientationSensorReadingChangedEventArgs>(ReadingChanged);

        ScenarioEnableButton.IsEnabled = false;
        ScenarioDisableButton.IsEnabled = true;
    }
    else
    {
        rootPage.NotifyUser("No orientation sensor found", NotifyType.StatusMessage);
    }
}


Nell'esempio seguente viene illustrato il gestore dell'evento ReadingChanged.


async private void ReadingChanged(object sender, OrientationSensorReadingChangedEventArgs e)
{
    await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
        OrientationSensorReading reading = e.Reading;

        // Quaternion values
        SensorQuaternion quaternion = reading.Quaternion;   // get a reference to the object to avoid re-creating it for each access
        ScenarioOutput_X.Text = String.Format("{0,8:0.00000}", quaternion.X);
        ScenarioOutput_Y.Text = String.Format("{0,8:0.00000}", quaternion.Y);
        ScenarioOutput_Z.Text = String.Format("{0,8:0.00000}", quaternion.Z);
        ScenarioOutput_W.Text = String.Format("{0,8:0.00000}", quaternion.W);

        // Rotation Matrix values
        SensorRotationMatrix rotationMatrix = reading.RotationMatrix;
        ScenarioOutput_M11.Text = String.Format("{0,8:0.00000}", rotationMatrix.M11);
        ScenarioOutput_M12.Text = String.Format("{0,8:0.00000}", rotationMatrix.M12);
        ScenarioOutput_M13.Text = String.Format("{0,8:0.00000}", rotationMatrix.M13);
        ScenarioOutput_M21.Text = String.Format("{0,8:0.00000}", rotationMatrix.M21);
        ScenarioOutput_M22.Text = String.Format("{0,8:0.00000}", rotationMatrix.M22);
        ScenarioOutput_M23.Text = String.Format("{0,8:0.00000}", rotationMatrix.M23);
        ScenarioOutput_M31.Text = String.Format("{0,8:0.00000}", rotationMatrix.M31);
        ScenarioOutput_M32.Text = String.Format("{0,8:0.00000}", rotationMatrix.M32);
        ScenarioOutput_M33.Text = String.Format("{0,8:0.00000}", rotationMatrix.M33);
    });
}


Requisiti

Client supportato minimo

Windows 8 [Applicazioni Windows Store, applicazioni desktop]

Server supportato minimo

Nessuno supportato [Applicazioni Windows Store, applicazioni desktop]

Telefono supportato minimo

Windows Phone 8

Spazio dei nomi

Windows.Devices.Sensors
Windows::Devices::Sensors [C++]

Metadati

Windows.winmd

Vedere anche

Guida rapida di OrientationSensor
Campione OrientationSensor

 

 

Mostra:
© 2014 Microsoft