Partage via


InteractionTrackerInertiaMotion Classe

Définition

ExpressionAnimation qui définit le mouvement d’InteractionTracker pendant son état d’inertie.

La classe InteractionTrackerMotion contient deux expressions ExpressionAnimationreprésentant une deuxième équation dérivée de la position utilisée par InteractionTracker pour définir le mouvement du début à la fin de l’inertie lorsqu’une condition particulière est remplie. La classe InteractionTrackerMotion est définie en deux parties : l’instruction conditionnelle pour définir quand le mouvement aura lieu et l’équation qui décrit le mouvement pour la façon dont InteractionTracker atteindra sa position de repos finale. Utilisez la classe InteractionTrackerInertiaMotion lorsque vous devez définir un mouvement personnalisé (tel qu’un mouvement de ressort) pour qu’InteractionTracker utilise lorsqu’il est dans son état d’inertie.

public ref class InteractionTrackerInertiaMotion sealed : InteractionTrackerInertiaModifier
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class InteractionTrackerInertiaMotion final : InteractionTrackerInertiaModifier
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InteractionTrackerInertiaMotion : InteractionTrackerInertiaModifier
Public NotInheritable Class InteractionTrackerInertiaMotion
Inherits InteractionTrackerInertiaModifier
Héritage
Object Platform::Object IInspectable CompositionObject InteractionTrackerInertiaModifier InteractionTrackerInertiaMotion
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 Anniversary Edition (introduit dans 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v3.0)

Exemples

void CustomSpringInertiaMotion(float dampingCoefficient, 	float springStiffnessCoefficient)
{
  //
  // Set up our inertia modifiers to use our custom motion
  //
  InteractionTrackerInertiaMotion[] modifiers = 
  new InteractionTrackerInertiaMotion[1];

  var modifier1 = InteractionTrackerInertiaMotion.Create(_compositor);

  /*
  We create a custom spring motion for when the InteractionTracker passes the
  maximum boundary. 
  When we hit the boundary, the amount of oscillation is determined by the 	distance to the far end point, the spring stiffness and damping rate.
  */ 

  // Define the condition that the spring motion gets applied – when we pass the
  // maximum boundary
  modifier1.Condition = _compositor.CreateExpressionAnimation(
  "this.Target.NaturalRestingPosition.X > this.Target.MaxPosition.X");

  // Define the second derivative equation as a custom spring force motion
  // Equation = kx–cv where (k is spring constant, c is damping, x is displacement)
  modifier1.Motion = _compositor.CreateExpressionAnimation(
    "(-springStiffnessCoefficient * (this.Target.Position.X – this.Target.MaxPosition.X)) + " +
    "(-dampingCoefficient * target.PositionVelocityInPixelsPerSecond.X");

  modifier1.Motion.SetScalarParameter("springStiffnessCoefficient", springStiffnessCoefficient);
  modifier1.Motion.SetScalarParameter("dampingCoefficient", dampingCoefficient);

  modifiers[0] = modifier1;

  // Attach InertiaModifiers to the Y position component of InteractionTracker
  _tracker.ConfigurePositionYInertiaModifiers(modifiers);
}

Remarques

Lors de la génération de l’ExpressionAnimation pour le composant de mouvement d’InteractionTrackerInertiaMotion, l’expression est décrite comme une deuxième équation dérivée. Par exemple, dans l’extrait de code ci-dessus, nous utilisons l’équation de base pour le mouvement Spring Force avec amortissement.

Lorsque vous attachez le modificateur InteractionTrackerInertiaMotion à InteractionTracker, vous le configurez sur la position X/Y ou l’échelle.

L’ExpressionAnimation définissant la propriété condition n’est évaluée qu’une seule fois lorsque InteractionTracker entre dans Inertie (c’est-à-d., lorsque l’interaction se termine, comme le relâchement du doigt). Si la condition prend la valeur true, l’expression InertieMotion est évaluée chaque image pour le reste de Inertie, même si l’expression de condition techniquement n’est plus vraie.

Les modificateurs InteractionTrackerInertiaMotion modifient l’équation qu’InteractionTracker utilise pour calculer sa position. Ainsi, la position de repos finale est déterminée par la nature de l’équation elle-même. Si vous avez besoin qu’InteractionTracker s’arrête à un emplacement spécifique, utilisez le modificateur InteractionTrackerInertiaRestingValue .

Propriétés

Comment

Chaîne à associer à CompositionObject.

(Hérité de CompositionObject)
Compositor

Compositor utilisé pour créer cet Objet CompositionObject.

(Hérité de CompositionObject)
Condition

ExpressionAnimation décrivant quand le modificateur doit être appliqué.

La propriété Condition est une ExpressionAnimation qui définit quand l’équation de mouvement spécifiée est utilisée par InteractionTracker pendant l’inertie. Cette expression est évaluée une fois après l’interaction et doit être résolue en type Bool. Sinon, une erreur est générée lors de l’évaluation de la condition. Pour plus d’informations sur la création d’expressions, consultez la page de classe ExpressionAnimation .

Dispatcher

Répartiteur pour compositionObject.

(Hérité de CompositionObject)
DispatcherQueue

Obtient le DispatcherQueue pour CompostionObject.

(Hérité de CompositionObject)
ImplicitAnimations

Collection d’animations implicites attachées à cet objet.

(Hérité de CompositionObject)
Motion

ExpressionAnimation décrivant le mouvement modifié pour InteractionTracker si l’expression de la propriété Condition a la valeur true.

La propriété Motion est une ExpressionAnimation qui décrit le mouvement InteractionTracker sera utilisé pendant l’inertie lorsque la condition correspondante est remplie. L’expression est évaluée à chaque image lorsque InteractionTracker est dans Inertie et doit être résolue en un type Float, sinon une erreur est générée lors de l’évaluation de l’équation. Pour plus d’informations sur la création d’expressions, consultez la page de classe ExpressionAnimation .

Properties

Collection de propriétés associées à CompositionObject.

(Hérité de CompositionObject)

Méthodes

Close()

Ferme l’objet CompositionObject et libère les ressources système.

(Hérité de CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Connecte et animation.

(Hérité de CompositionObject)
Create(Compositor)

Crée un instance d’InteractionTrackerInertiaMotion.

DisconnectAnimation(String)

Déconnecte une animation.

(Hérité de CompositionObject)
Dispose()

Exécute les tâches définies par l'application associées à la libération ou à la redéfinition des ressources non managées.

(Hérité de CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Définit une propriété qui peut être animée.

(Hérité de CompositionObject)
StartAnimation(String, CompositionAnimation)

Connecte une animation à la propriété spécifiée de l’objet et démarre l’animation.

(Hérité de CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Connecte une animation à la propriété spécifiée de l’objet et démarre l’animation.

(Hérité de CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Démarre un groupe d’animations.

La méthode StartAnimationGroup sur CompositionObject vous permet de démarrer CompositionAnimationGroup. Toutes les animations du groupe seront démarrées en même temps sur l’objet.

(Hérité de CompositionObject)
StopAnimation(String)

Déconnecte une animation de la propriété spécifiée et arrête l’animation.

(Hérité de CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Arrête un groupe d’animations.

(Hérité de CompositionObject)
TryGetAnimationController(String)

Renvoie un AnimationController pour l’animation en cours d’exécution sur la propriété spécifiée.

(Hérité de CompositionObject)

S’applique à

Voir aussi