Compartilhar via


KeyFrameAnimation.Direction Propriedade

Definição

A direção em que a animação está sendo reproduzida.

A propriedade Direction permite que você conduza sua animação do início ao fim ou ao fim para iniciar ou alternar entre o início e o fim ou o término se a animação tiver uma IteraçãoCount maior que uma. Isso fornece uma maneira fácil de personalizar definições de animação.

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 da propriedade

A direção em que a animação está sendo reproduzida.

Requisitos do Windows

Família de dispositivos
Windows 10 Anniversary Edition (introduzida na 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v3.0)

Exemplos

AnimationDirection é 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 é Reverso

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

Comentários

Dada uma animação de deslocamento com uma contagem de iteração de 3 e dois quadros-chave (0 e 1) com um valor de Vector3(5,5,5) para o quadro-chave 0 e um valor de Vector3(20,20,20) para o quadro-chave 1, a tabela a seguir mostra o comportamento da animação com valores diferentes para Direction.

DireçãoComportamento de animação
NormalA animação começará com o valor de deslocamento Vector3(5,5,5) e irá para Vector3(20,20,20), repetindo três vezes sempre a partir de (5,5,5).
ReverseA animação começará no valor inverso e deslocado (20,20,20) e vai para (5,5,5) repetindo três vezes sempre a partir de (20,20,20).
AlternativoPara a primeira iteração, a animação começará do valor de deslocamento (5,5,5) e irá para (20,20,20). Na segunda animação de iteração, a animação começará do valor de deslocamento (20,20,20) e irá para (5,5,5). Na terceira e última iteração, a animação começará do deslocamento (5,5,5) e irá para (20,20,20).
AlternateReversePara a primeira iteração, a animação começará com o valor de deslocamento (20,20,20) e irá para (5,5,5). Na segunda iteração, a animação começará com o valor de deslocamento (5,5,5) e irá para (20, 20, 20). Na terceira e última iteração, a animação começará do deslocamento (20, 20, 20) e irá para (5,5,5).

Aplica-se a