InteractionTracker.TryUpdatePositionWithAnimation Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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 actuel | Résultat |
---|---|
Idle | L’animation demandée démarre sur la propriété demandée, l’état passe à CustomAnimation |
Interaction | Demande ignorée |
Inertie | L’animation demandée démarre sur la propriété demandée, l’état passe à CustomAnimation |
CustomAnimation | L’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 |