InteractionTracker.PositionVelocityInPixelsPerSecond Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Velocidad aplicada actualmente a la posición.
La propiedad PositionVelocityInPixelsPerSecond representa la velocidad de posición actual de InteractionTracker mientras se encuentra en inercia. Hay dos casos de uso principales para esta propiedad: Recuperar la velocidad de posición de InteractionTracker justo después de que se haya producido una interacción o haga referencia a la velocidad más actual de InteractionTracker en una ExpressionAnimation.
public:
property float3 PositionVelocityInPixelsPerSecond { float3 get(); };
float3 PositionVelocityInPixelsPerSecond();
public Vector3 PositionVelocityInPixelsPerSecond { get; }
var vector3 = interactionTracker.positionVelocityInPixelsPerSecond;
Public ReadOnly Property PositionVelocityInPixelsPerSecond As Vector3
Valor de propiedad
Velocidad aplicada actualmente a la posición.
Ejemplos
// 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);
}
Comentarios
Al acceder a la propiedad PositionVelocityInPixelsPerSecond desde el evento InertiaStateEntered , recuperará una instantánea de la velocidad calculada en función de la interacción. Este evento solo se activará una vez que se haya producido la interacción.