OrientationSensor Class

Représente un capteur d'orientation.

Ce capteur retourne un tableau de rotation et un Quaternion, qui peuvent servir à ajuster l'angle de l'utilisateur dans une application de jeu.

Syntaxe


var orientationSensor = Windows.Devices.Sensors.OrientationSensor;

Attributs

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

Membres

OrientationSensorClasse possède ces types de membres :

Événements

OrientationSensorClasse possède ces événements.

ÉvénementDescription
ReadingChanged Occurs each time the orientation sensor reports a new sensor reading.

 

Méthodes

The OrientationSensor Classe a les méthodes suivantes. Avec C#, Visual Basic et C++, elle hérite également des méthodes de Object Classe.

MéthodeDescription
GetCurrentReading Gets the current sensor reading
GetDefault Gets the default orientation sensor.

 

Propriétés

Le OrientationSensorClasse a les propriétés suivantes.

PropriétéType d'accèsDescription

MinimumReportInterval

En lecture seuleGets the minimum report interval supported by the sensor.

ReportInterval

Lecture/écritureGets or sets the report interval supported by the sensor.

 

Remarques

L'exemple suivant montre comment une application du Windows Store conçue avec XAML et C# utilise la méthode GetDefault pour établir une connexion avec un capteur d'orientation. Si aucun capteur d'orientation n'est trouvé, la méthode retourne une valeur null.


_sensor = OrientationSensor.GetDefault();


L'exemple suivant montre comment une application Windows Store conçue avec XAML enregistre un gestionnaire d'événements 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);
    }
}


L'exemple suivant présente le gestionnaire d'événements 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);
    });
}


Conditions requises

Client minimal pris en charge

Windows 8 [Applications Windows Store, applications de bureau]

Serveur minimal pris en charge

Aucun pris en charge [Applications Windows Store, applications de bureau]

Téléphone minimal pris en charge

Windows Phone 8

Espace de noms

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

Métadonnées

Windows.winmd

Voir aussi

OrientationSensor, démarrage rapide
Exemple pour OrientationSensor

 

 

Afficher:
© 2014 Microsoft