InteractionTracker.PositionVelocityInPixelsPerSecond Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Die derzeit auf die Position angewendete Geschwindigkeit.
Die PositionVelocityInPixelsPerSecond-Eigenschaft stellt die aktuelle Positionsgeschwindigkeit von InteractionTracker während der Inertia dar. Es gibt zwei Standard Anwendungsfälle für diese Eigenschaft: Abrufen der Positionsgeschwindigkeit von InteractionTracker direkt nach einer Interaktion oder Verweisen auf die aktuelle Geschwindigkeit von InteractionTracker in einer ExpressionAnimation.
public:
property float3 PositionVelocityInPixelsPerSecond { float3 get(); };
float3 PositionVelocityInPixelsPerSecond();
public Vector3 PositionVelocityInPixelsPerSecond { get; }
var vector3 = interactionTracker.positionVelocityInPixelsPerSecond;
Public ReadOnly Property PositionVelocityInPixelsPerSecond As Vector3
Eigenschaftswert
Die derzeit auf die Position angewendete Geschwindigkeit.
Beispiele
// Listen for the InertiaStateEntered event, so we can grab PositionVelocityInPixelsPerSecond value.
public void InertiaStateEntered(InteractionTracker sender, InteractionTrackerInertiaStateEnteredArgs args)
{
// Grab the current velocity of InteractionTracker after interaction occurs out of the args when the event is fired.
Vector3 interactionVelocity = args.PositionVelocityInPixelsPerSecond;}
}
void CustomSpringMotion(float springCoefficient, float dampingCoefficient, float maxPosition)
{
// Create the InertiaModifier that will be a custom motion emulating a spring
InteractionTrackerInertiaMotion modifier = InteractionTrackerInertiaMotion.Create(_compositor);
modifier.Condition = _compositor.CreateExpressionAnimation("this.Target.NaturalRestingPosition.X > maxPosition");
modifier.Condition.SetScalarParameter("maxPosition", maxPosition);
// Utilize the current Velocity of InteractionTracker in the Expression defining the custom spring motion
modifier.Motion = _compositor.CreateExpressionAnimation("(-springStiffnessCoefficient * (this.Target.Position.X – maxPosition)) + (-dampingCoefficient * this.target.PositionVelocityInPixelsPerSecond.X");
modifier.Motion.SetScalarParameter("springStiffnessCoefficient", springCoefficient);
modifier.Motion.SetScalarParameter("dampingCoefficient", dampingCoefficient);
modifier.Motion.SetScalarParameter("maxPosition", maxPosition);
}
Hinweise
Wenn Sie über das InertiaStateEntered-Ereignis auf die PositionVelocityInPixelsPerSecond-Eigenschaft zugreifen, rufen Sie eine Momentaufnahme der berechneten Geschwindigkeit basierend auf der Interaktion ab. Dieses Ereignis wird nur einmal ausgelöst, nachdem die Interaktion aufgetreten ist.