KeyFrameAnimation.Direction Propiedad
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í.
Dirección en la que se está reproduciendo la animación.
La propiedad Direction permite controlar la animación de principio a fin o fin para iniciar o alternar entre el inicio y el final o el final para iniciar si la animación tiene un IterationCount mayor que uno. Esto proporciona una manera sencilla de personalizar las definiciones de animación.
public:
property AnimationDirection Direction { AnimationDirection get(); void set(AnimationDirection value); };
AnimationDirection Direction();
void Direction(AnimationDirection value);
public AnimationDirection Direction { get; set; }
var animationDirection = keyFrameAnimation.direction;
keyFrameAnimation.direction = animationDirection;
Public Property Direction As AnimationDirection
Valor de propiedad
Dirección en la que se está reproduciendo la animación.
Ejemplos
AnimationDirection es Normal
class Direction
{
Direction(Compositor compositor, SpriteVisual heroVisual)
{
Vector3KeyFrameAnimation animation = compositor.CreateVector3KeyFrameAnimation();
animation.InsertKeyFrame(0f, new Vector3(0f,0f,0f));
animation.InsertKeyFrame(1f, new Vector3(20f,20f,0f));
animation.Duration = TimeSpan.FromSeconds(0.25);
// Run animation for 4 times
animation.IterationCount = 4;
// Direction of animation is normal i.e. forward.
animation.Direction = AnimationDirection.Normal;
heroVisual.StartAnimation("Offset", animation);
}
}
AnimationDirection es inverso
class Direction
{
Direction(Compositor compositor, SpriteVisual heroVisual)
{
Vector3KeyFrameAnimation animation = compositor.CreateVector3KeyFrameAnimation();
animation.InsertKeyFrame(0f, new Vector3(0f,0f,0f));
animation.InsertKeyFrame(1f, new Vector3(20f,20f,0f));
animation.Duration = TimeSpan.FromSeconds(0.25);
// Run animation for 4 times
animation.IterationCount = 4;
// Direction of animation is Reverse i.e. end to start.
animation.Direction = AnimationDirection.Reverse;
heroVisual.StartAnimation("Offset", animation);
}
}
AnimationDirection es alternativo
class Direction
{
Direction(Compositor compositor, SpriteVisual heroVisual)
{
Vector3KeyFrameAnimation animation = compositor.CreateVector3KeyFrameAnimation();
animation.InsertKeyFrame(0f, new Vector3(0f,0f,0f));
animation.InsertKeyFrame(1f, new Vector3(20f,20f,0f));
animation.Duration = TimeSpan.FromSeconds(0.25);
// Run animation for 4 times
animation.IterationCount = 4;
// Direction of animation is alternate i.e. start to end and then end to start and so on.
animation.Direction = AnimationDirection.Alternate;
heroVisual.StartAnimation("Offset", animation);
}
}
AnimationDirection es AlternateReverse
class Direction
{
Direction(Compositor compositor, SpriteVisual heroVisual)
{
Vector3KeyFrameAnimation animation = compositor.CreateVector3KeyFrameAnimation();
animation.InsertKeyFrame(0f, new Vector3(0f,0f,0f));
animation.InsertKeyFrame(1f, new Vector3(20f,20f,0f));
animation.Duration = TimeSpan.FromSeconds(0.25);
// Run animation for 4 times
animation.IterationCount = 4;
// Direction of animation is alternate-reverse i.e. end to start and then start to end and so on.
animation.Direction = AnimationDirection.AlternateReverse;
heroVisual.StartAnimation("Offset", animation);
}
}
Comentarios
Dada una animación de desplazamiento con un recuento de iteraciones de 3 y dos fotogramas clave (0 y 1) con un valor de Vector3(5,5,5) para el fotograma clave 0 y un valor de Vector3(20,20,20) para el fotograma clave 1, en la tabla siguiente se muestra el comportamiento de animación con valores diferentes para Direction.
Dirección | Comportamiento de animación |
---|---|
Normal | La animación comenzará desde el valor de desplazamiento Vector3(5,5,5) y irá a Vector3(20,20,20), repitiendo 3 veces siempre comenzando desde (5,5,5). |
Reverse | La animación se iniciará en el valor inverso y de desplazamiento (20,20,20) y pasará a (5,5,5) repitiendo 3 veces siempre a partir de (20,20,20). |
Alternativa | Para la primera iteración, la animación comenzará desde el valor de desplazamiento (5,5,5) y irá a (20,20,20). En la segunda animación de iteración, la animación comenzará desde el valor de desplazamiento (20.20.20) y irá a (5.5.5). En tercera y última iteración, la animación comenzará desde el desplazamiento (5,5,5) y irá a (20,20,20). |
AlternateReverse | Para la primera iteración, la animación comenzará desde el valor de desplazamiento (20.20.20) y irá a (5.5.5). En la segunda iteración, la animación comenzará desde el valor de desplazamiento (5,5,5) y irá a (20, 20, 20). En la tercera y última iteración, la animación comenzará desde el desplazamiento (20, 20, 20) y irá a (5,5,5). |