InteractionTracker.ScaleVelocityInPercentPerSecond Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
The rate of change for scale.
The ScaleVelocityInPercentPerSecond property represents the current scale velocity of InteractionTracker while in Inertia. Grabbing the position velocity of InteractionTracker right after an Interaction has occurred or reference the most current velocity of InteractionTracker in an ExpressionAnimation.
public:
property float ScaleVelocityInPercentPerSecond { float get(); };
float ScaleVelocityInPercentPerSecond();
public float ScaleVelocityInPercentPerSecond { get; }
var single = interactionTracker.scaleVelocityInPercentPerSecond;
Public ReadOnly Property ScaleVelocityInPercentPerSecond As Single
Property Value
float
The rate of change for scale.
Examples
// Listen for the InertiaStateEntered event
public void InertiaStateEntered(InteractionTracker sender, InteractionTrackerInertiaStateEnteredArgs args)
{
// Grab the Scale velocity out of the args when the event is fired.
float scaleVelocity = args.ScaleVelocityInPercentPerSecond;
}
void CustomSpringMotion(float springCoefficient, float dampingCoefficient, float maxScale)
{
// 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 > maxScale");
modifier.Condition.SetScalarParameter("maxScale", maxScale);
// Utilize the current Velocity of InteractionTracker in the Expression defining the custom spring motion
modifier.Motion = _compositor.CreateExpressionAnimation("(-springStiffnessCoefficient * (this.Target.Position.X – maxScale)) + " +
"(-dampingCoefficient * this.target.ScaleVelocityInPercentPerSecond");
modifier.Motion.SetScalarParameter("springStiffnessCoefficient", springCoefficient);
modifier.Motion.SetScalarParameter("dampingCoefficient", dampingCoefficient);
modifier.Motion.SetScalarParameter("maxScale", maxScale);
}
Remarks
When accessing the ScaleVelocityInPercentPerSecond property off the InertiaStateEntered event, you will be retrieving a snapshot of the calculated velocity based on the Interaction. This event will only fire once after the interaction has occurred.