Partager via


InteractionTracker.TryUpdatePositionWithAnimation Méthode

Définition

Tente de mettre à jour la position d’InteractionTracker en appliquant une animation.

La méthode TryUpdatePositionWithAnimation met à jour la position d’InteractionTracker en fonction de l’entrée CompositionAnimation en tant que paramètre. Cette méthode est utilisée dans les situations dans lesquelles le mouvement d’InteractionTracker doit être défini par une animation spécifique, au lieu de l’expérience d’inertie traditionnelle. TryUpdatePositionWithAnimation peut être appelé à partir de l’état Inactif ou Inertie . Ainsi, la position d’InteractionTracker est pilotée par l’animation définie et entre dans l’état CustomAnimation.

public:
 virtual int TryUpdatePositionWithAnimation(CompositionAnimation ^ animation) = TryUpdatePositionWithAnimation;
int TryUpdatePositionWithAnimation(CompositionAnimation const& animation);
public int TryUpdatePositionWithAnimation(CompositionAnimation animation);
function tryUpdatePositionWithAnimation(animation)
Public Function TryUpdatePositionWithAnimation (animation As CompositionAnimation) As Integer

Paramètres

animation
CompositionAnimation

Animation à appliquer à InteractionTracker.

Retours

Int32

int

Retourne l’ID de demande. Lors des transitions d’état, la demande qui a provoqué le changement d’état est incluse dans les arguments. Ces ID commencent à 1 et augmentent à chaque appel d’essai pendant la durée de vie de l’application.

Exemples

void CustomAnimationForIT(Vector3 newPosition)
{
  // Create a cubic bezier easing function that will be used in the KeyFrames
  CompositionEasingFunction cubicBezier = _compositor.CreateCubicBezierEasingFunction(new Vector2(.17f, .67f), new Vector2(1f, 1f);

  // Create the Vector3 KFA
  Vector3KeyFrameAnimation kfa = _compositor.CreateVector3KeyFrameAnimation();
  kfa.Duration = TimeSpan.FromSeconds(3);

  // Create the KeyFrames
  kfa.InsertKeyFrame(1.0f, newPosition, cubicBezier);

  // Update InteractionTracker position using this animation
  _tracker.TryUpdatePositionWithAnimation(kfa);
}

Remarques

Lorsque vous créez l’animation avec laquelle vous souhaitez mettre à jour la position d’InteractionTracker , vous n’avez pas besoin d’appeler StartAnimation. Le système s’en chargera en arrière-plan une fois l’animation passée via TryUpdatePositionWithAnimation.

Lorsque vous définissez l’animation qui animera la position d’InteractionTracker , veillez à utiliser un Vector3KeyFrameAnimation ou une ExpressionAnimation qui se résout en Vector3.

Le tableau ci-dessous récapitule le comportement attendu lorsque cette méthode est appelée dans un état particulier :

État actuelRésultat
IdleL’animation demandée démarre sur la propriété demandée, l’état passe à CustomAnimation
InteractionDemande ignorée
InertieL’animation demandée démarre sur la propriété demandée, l’état passe à CustomAnimation
CustomAnimationL’animation actuelle s’arrête et la nouvelle animation demandée démarre sur la propriété demandée, l’état entre de nouveau Dans CustomAnimation

S’applique à