InteractionTracker.NaturalRestingPosition Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Posizione di riposo naturale per InteractionTracker.
La proprietà NaturalRestingPosition è la posizione calcolata in cui InteractionTracker verrà arrestato senza tenere conto dei limiti o dei modificatori inerziali. Questa proprietà è spesso utile per azioni come la virtualizzazione in un'esperienza di scorrimento, in cui è importante conoscere la posizione in cui InteractionTracker si arresterà. Esistono due casi d'uso principali per l'uso della proprietà NaturalRestingPosition: recupero del relativo valore corrente negli argomenti dell'evento InertiaStateEntered o riferimento a questa proprietà in un oggetto ExpressionAnimation durante la creazione di elementi come modificatori di inerzia.
public:
property float3 NaturalRestingPosition { float3 get(); };
float3 NaturalRestingPosition();
public Vector3 NaturalRestingPosition { get; }
var vector3 = interactionTracker.naturalRestingPosition;
Public ReadOnly Property NaturalRestingPosition As Vector3
Valore della proprietà
Posizione di riposo naturale per InteractionTracker.
Esempio
// 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);
}
Commenti
I due casi d'uso descritti nel frammento di codice precedente sono gli usi principali della proprietà NaturalRestingPosition. Anche se si potrebbe essere tentati di fare riferimento a questa proprietà fuori InteractionTracker come qualsiasi altra relazione object.property, non sempre si otterrà il valore più aggiornato. In questa situazione è consigliabile ascoltare l'evento InertiaStateEntered e acquisire il valore più recente dagli argomenti.