InteractionTracker.TryUpdateScaleWithAnimation Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Intenta actualizar la escala con la animación especificada.
El método TryUpdateScaleWithAnimation actualiza la posición de escala de InteractionTracker basada en 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 TryUpdateScaleWithAnimation 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 TryUpdateScaleWithAnimation(CompositionAnimation ^ animation, float3 centerPoint) = TryUpdateScaleWithAnimation;
int TryUpdateScaleWithAnimation(CompositionAnimation const& animation, float3 const& centerPoint);
public int TryUpdateScaleWithAnimation(CompositionAnimation animation, Vector3 centerPoint);
function tryUpdateScaleWithAnimation(animation, centerPoint)
Public Function TryUpdateScaleWithAnimation (animation As CompositionAnimation, centerPoint As Vector3) As Integer
Parámetros
- animation
- CompositionAnimation
Animación que se va a aplicar a la escala.
Devoluciones
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(float newScale, Vector3 newCenterPoint)
{
// 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
ScalarKeyFrameAnimation kfa = _compositor.CreateScalarKeyFrameAnimation();
kfa.Duration = TimeSpan.FromSeconds(3);
// Create the KeyFrames
kfa.InsertKeyFrame(1.0f, newScale, cubicBezier);
// Update InteractionTracker position using this animation
_tracker.TryUpdatePositionWithAnimation(kfa, newCenterPoint);
}
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 TryUpdateScaleWithAnimation.
Al definir la animación que animará la posición de escala de InteractionTracker , asegúrese de usar scalarKeyFrameAnimation o expressionAnimation que se resuelva en un scalar.
En la tabla siguiente se resume el comportamiento esperado cuando se llama a este método en un estado determinado:
Estado actual | Resultado |
---|---|
Inactivo | La animación solicitada se inicia en la propiedad solicitada, los cambios de estado en CustomAnimation |
Interacción | Solicitud omitida |
Inercia | La animación solicitada se inicia en la propiedad solicitada, los cambios de estado en CustomAnimation |
CustomAnimation | La animación actual se detiene y se inicia la nueva animación solicitada en la propiedad solicitada, el estado vuelve a escribir CustomAnimation. |