Compartir a través de


InteractionTracker.TryUpdatePositionWithAnimation Método

Definición

Intenta actualizar la posición de InteractionTracker aplicando una animación.

El método TryUpdatePositionWithAnimation actualiza la posición de InteractionTracker en función de la entrada CompositionAnimation como parámetro. Este método se usa en situaciones en las que el movimiento de InteractionTracker debe definirse mediante una animación específica, en lugar de la experiencia de inercia tradicional. Se puede llamar a TryUpdatePositionWithAnimation desde el estado Inactivo o Inercia: al hacerlo, la posición de InteractionTracker se controlará mediante la animación definida y entrará en el estado 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

Parámetros

animation
CompositionAnimation

Animación que se va a aplicar a InteractionTracker.

Devoluciones

Int32

int

Devuelve el identificador de solicitud. En las transiciones de estado, la solicitud que provocó el cambio en estado se incluirá en los argumentos. Estos identificadores comenzarán en 1 y aumentarán con cada llamada try durante la vigencia de la aplicación.

Ejemplos

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);
}

Comentarios

Al crear la animación con la que desea actualizar la posición de InteractionTracker , no es necesario llamar a StartAnimation. El sistema se encargará de esto en segundo plano una vez que la animación se pasa a través de TryUpdatePositionWithAnimation.

Al definir la animación que animará la posición de InteractionTracker , asegúrese de usar vector3KeyFrameAnimation o expressionAnimation que se resuelva en un vector3.

En la tabla siguiente se resume el comportamiento esperado cuando se llama a este método en un estado determinado:

Estado actualResultado
InactivoLa animación solicitada se inicia en la propiedad solicitada, los cambios de estado en CustomAnimation
InteracciónSolicitud omitida
InerciaLa animación solicitada se inicia en la propiedad solicitada, los cambios de estado en CustomAnimation
CustomAnimationLa animación actual se detiene y se inicia la nueva animación solicitada en la propiedad solicitada, el estado vuelve a escribir CustomAnimation.

Se aplica a