Compartir a través de


KeyFrameAnimation.Direction Propiedad

Definición

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.

Requisitos de Windows

Familia de dispositivos
Windows 10 Anniversary Edition (se introdujo en la versión 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v3.0)

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ónComportamiento de animación
NormalLa animación comenzará desde el valor de desplazamiento Vector3(5,5,5) y irá a Vector3(20,20,20), repitiendo 3 veces siempre a partir de (5,5,5).
ReverseLa animación se iniciará en el valor inverso y de desplazamiento (20,20,20) y irá a (5,5,5) repitiendo 3 veces siempre a partir de (20,20,20).
AlternativaPara 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).
AlternateReversePara la primera iteración, la animación comenzará a partir del 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 e iteración final, la animación comenzará desde el desplazamiento (20, 20, 20) y irá a (5,5,5).

Se aplica a