InteractionTracker.NaturalRestingPosition Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Position de repos naturelle pour l’InteractionTracker.
La propriété NaturalRestingPosition est la position calculée à laquelle InteractionTracker s’arrêtera sans prendre en compte les limites ou les modificateurs d’inertie. Cette propriété est souvent utile pour des actions telles que la virtualisation dans une expérience de défilement, où il est important de connaître l’emplacement où InteractionTracker s’arrêtera . Il existe deux cas d’usage main pour l’utilisation de la propriété NaturalRestingPosition : récupération de sa valeur actuelle dans les arguments d’événement InertieStateEntered ou référencement de cette propriété dans une expressionAnimation lors de la création d’éléments tels que des modificateurs d’inertie.
public:
property float3 NaturalRestingPosition { float3 get(); };
float3 NaturalRestingPosition();
public Vector3 NaturalRestingPosition { get; }
var vector3 = interactionTracker.naturalRestingPosition;
Public ReadOnly Property NaturalRestingPosition As Vector3
Valeur de propriété
Position de repos naturelle pour l’InteractionTracker.
Exemples
// Listen for the InertiaStateEntered event, so can grab NaturalRestingPosition value.
public void InertiaStateEntered(InteractionTracker sender, InteractionTrackerInertiaStateEnteredArgs args)
{
// Grab the NaturalRestingPosition out of the args when the event is fired. Now have access to calculated Natural Rest spot
Vector3 naturalRest = args.NaturalRestingPosition;
}
// Reference the NaturalRestingPosition property in an expression for things like SnapPoints
void CreateBasicSnapPoint(float highBound, float lowBound)
{
var snappoint = InteractionTrackerInertiaRestingValue.Create(_compositor);
// Reference the NaturalRestingPosition of InteractionTracker in an ExpressionAnimation for conditional portion of an InertiaModifier.
snappoint.Condition = _compositor.CreateExpressionAnimation("this.target.NaturalRestingPosition.Y >= lowBound && this.target.NaturalRestingPosition.Y < highBound ");
snappoint.Condition.SetScalarParameter("lowBound", lowBound);
snappoint.Condition.SetScalarParameter("highBound", highBound);
// Snap to the highbound if condition met
snappoint.RestingValue = _compositor.CreateExpressionAnimation("highBound");
snappoint.RestingValue.SetScalarParameter("highBound", highBound);
yInertiaModifier.Add(snappoint);
_tracker.ConfigurePositionYInertiaModifiers(yInertiaModifier);
}
Remarques
Les deux cas d’usage décrits dans l’extrait de code ci-dessus sont les principales utilisations de la propriété NaturalRestingPosition. Bien que vous soyez tenté de référencer cette propriété sur InteractionTracker comme n’importe quelle autre relation object.property, vous n’obtiendrez pas toujours la valeur la plus récente. Dans ce cas, il est recommandé d’écouter l’événement InertieStateEntered et de récupérer la valeur la plus récente à partir des arguments.