Compartilhar via


QuaternionKeyFrameAnimation Classe

Definição

Uma animação baseada em tempo direcionada à propriedade Orientation com um ou mais quadros-chave.

A classe QuaternionKeyFrameAnimation é um dos tipos com suporte de KeyFrameAnimations que é usado para animar a propriedade Orientation em um Visual. Quatérnions são uma maneira útil e, às vezes, mais simples de pensar sobre rotações – os quatérnions tomam o caminho mais curto entre ângulos e evitam problemas como Gimbal Lock em que o ângulo/eixo de rotação e as matrizes de rotação se encontram. Um Quatérnion é composto por dois componentes: uma parte escalar e vetor.

public ref class QuaternionKeyFrameAnimation sealed : KeyFrameAnimation
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 131072)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class QuaternionKeyFrameAnimation final : KeyFrameAnimation
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 131072)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class QuaternionKeyFrameAnimation : KeyFrameAnimation
Public NotInheritable Class QuaternionKeyFrameAnimation
Inherits KeyFrameAnimation
Herança
Object Platform::Object IInspectable CompositionObject CompositionAnimation KeyFrameAnimation QuaternionKeyFrameAnimation
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10586.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v2.0)

Exemplos

void QuaternionAnimation(SpriteVisual visual)
{
  // Create the QuaternionKeyFrameAnimation
  var quaternionKFA = _compositor.CreateQuaternionKeyFrameAnimation();

  // Create a Quaternion that represents a 45 degree rotation around X Axis
  Quaternion quaternion = new Quaternion(0.380f, 0f, 0.0f, 0.92f);

  // Insert the Quaternion into the KeyFrame
  quaternionKFA.InsertKeyFrame(1.0f, quaternion);
  quaternionKFA.Duration = TimeSpan.FromSeconds(1);

  // Attach to the Orientation property of Visual
  visual.StartAnimation("Orientation", quaternionKFA);
}

Comentários

Uma animação é associada à propriedade de um objeto chamando CompositionObject.StartAnimation e especificando o nome da propriedade e a animação. Consulte a seção de comentários de CompositionObject.StartAnimation para obter uma lista de propriedades animáveis.

Um Quatérnio é composto por duas partes distinguíveis: um componente vetor e escalar. Ao usar com animações de quadro-chave, o Quatérnio pode ser definido pela notação de System.Numerics de 4 floats ou um Vector3 e um escalar. System.Numerics fornece construtores para qualquer uma dessas notações.

Ao traduzir uma rotação em um Quatérnion, você pode utilizar funções auxiliares System.Numerics Quaternion que permitem criar Quatérnions com base em uma combinação Eixo/Ângulo, Matriz de Rotação ou Yaw/Pitch/Roll. No exemplo acima, o mesmo Quatérnion poderia ser construído a partir do auxiliar abaixo:

Quaternion quaternion = Quaternion.CreateFromAxisAngle(new Vector3(1.0f, 0.0f, 0.0f), 0.78f);

Propriedades

Comment

Uma cadeia de caracteres a ser associada ao CompositionObject.

(Herdado de CompositionObject)
Compositor

O Compositor usado para criar este CompositionObject.

(Herdado de CompositionObject)
DelayBehavior

O comportamento de atraso da animação de quadro-chave.

(Herdado de KeyFrameAnimation)
DelayTime

Atrase antes que a animação seja iniciada depois que CompositionObject.StartAnimation for chamado.

(Herdado de KeyFrameAnimation)
Direction

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 do fim ao início ou à alternativa entre o início e o fim ou o início se a animação tiver uma IterationCount maior que uma. Isso oferece uma maneira fácil de personalizar definições de animação.

(Herdado de KeyFrameAnimation)
Dispatcher

O dispatcher do CompositionObject.

(Herdado de CompositionObject)
DispatcherQueue

Obtém o DispatcherQueue para o CompostionObject.

(Herdado de CompositionObject)
Duration

A duração da animação.

(Herdado de KeyFrameAnimation)
ImplicitAnimations

A coleção de animações implícitas anexadas a esse objeto.

(Herdado de CompositionObject)
InitialValueExpressions

Obtém os valores iniciais da animação.

(Herdado de CompositionAnimation)
IterationBehavior

O comportamento de iteração para a animação de quadro-chave.

(Herdado de KeyFrameAnimation)
IterationCount

O número de vezes para repetir a animação de quadro-chave.

(Herdado de KeyFrameAnimation)
KeyFrameCount

O número de quadros-chave no KeyFrameAnimation.

(Herdado de KeyFrameAnimation)
Properties

A coleção de propriedades associadas ao CompositionObject.

(Herdado de CompositionObject)
StopBehavior

Especifica como definir o valor da propriedade quando StopAnimation é chamado.

(Herdado de KeyFrameAnimation)
Target

O destino da animação.

(Herdado de CompositionAnimation)

Métodos

ClearAllParameters()

Limpa todos os parâmetros da animação.

(Herdado de CompositionAnimation)
ClearParameter(String)

Limpa um parâmetro da animação.

(Herdado de CompositionAnimation)
Close()

Fecha o CompositionObject e libera os recursos do sistema.

(Herdado de CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Conecta e animação.

(Herdado de CompositionObject)
DisconnectAnimation(String)

Desconecta uma animação.

(Herdado de CompositionObject)
Dispose()

Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados.

(Herdado de CompositionObject)
InsertExpressionKeyFrame(Single, String)

Insere um quadro-chave de expressão.

(Herdado de KeyFrameAnimation)
InsertExpressionKeyFrame(Single, String, CompositionEasingFunction)

Insere um quadro-chave de expressão.

(Herdado de KeyFrameAnimation)
InsertKeyFrame(Single, Quaternion)

Insere um quadro-chave.

InsertKeyFrame(Single, Quaternion, CompositionEasingFunction)

Insere um quadro-chave com a função de easing especificada.

PopulatePropertyInfo(String, AnimationPropertyInfo)

Define uma propriedade que pode ser animada.

(Herdado de CompositionObject)
SetBooleanParameter(String, Boolean)

Define um parâmetro de valor booliano para uso com um ExpressionAnimation ou um quadro-chave de expressão.

(Herdado de CompositionAnimation)
SetColorParameter(String, Color)

Define um parâmetro de valor Color para uso com um ExpressionAnimation ou um quadro-chave de expressão.

(Herdado de CompositionAnimation)
SetExpressionReferenceParameter(String, IAnimationObject)

Define um objeto que implementa IAnimationObject como um parâmetro de referência em um ExpressionAnimation.

(Herdado de CompositionAnimation)
SetMatrix3x2Parameter(String, Matrix3x2)

Define um parâmetro de valor Matrix3x2 para uso com um ExpressionAnimation ou um quadro-chave de expressão.

(Herdado de CompositionAnimation)
SetMatrix4x4Parameter(String, Matrix4x4)

Define um parâmetro de valor Matrix4x4 para uso com um ExpressionAnimation ou um quadro-chave de expressão.

(Herdado de CompositionAnimation)
SetQuaternionParameter(String, Quaternion)

Define um valor Quaternion para uso com um ExpressionAnimation ou um quadro-chave de expressão.

(Herdado de CompositionAnimation)
SetReferenceParameter(String, CompositionObject)

Define uma referência a um objeto Composition para uso com um ExpressionAnimation ou um quadro-chave de expressão.

(Herdado de CompositionAnimation)
SetScalarParameter(String, Single)

Define um parâmetro de valor escalar para uso com um ExpressionAnimation ou um quadro-chave de expressão.

(Herdado de CompositionAnimation)
SetVector2Parameter(String, Vector2)

Define um parâmetro de valor Vector2 para uso com um ExpressionAnimation ou um quadro-chave de expressão.

(Herdado de CompositionAnimation)
SetVector3Parameter(String, Vector3)

Define um parâmetro de valor Vector3 para uso com um ExpressionAnimation ou um quadro-chave de expressão.

(Herdado de CompositionAnimation)
SetVector4Parameter(String, Vector4)

Define um parâmetro de valor Vector4 para uso com um ExpressionAnimation ou um quadro-chave de expressão.

(Herdado de CompositionAnimation)
StartAnimation(String, CompositionAnimation)

Conecta uma animação com a propriedade especificada do objeto e inicia a animação.

(Herdado de CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Conecta uma animação com a propriedade especificada do objeto e inicia a animação.

(Herdado de CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Inicia um grupo de animação.

O método StartAnimationGroup em CompositionObject permite iniciar CompositionAnimationGroup. Todas as animações no grupo serão iniciadas ao mesmo tempo no objeto .

(Herdado de CompositionObject)
StopAnimation(String)

Desconecta uma animação da propriedade especificada e interrompe a animação.

(Herdado de CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Interrompe um grupo de animação.

(Herdado de CompositionObject)
TryGetAnimationController(String)

Retorna um AnimationController para a animação em execução na propriedade especificada.

(Herdado de CompositionObject)

Aplica-se a

Confira também