QuaternionKeyFrameAnimation Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Uma animação baseada em tempo que tem como destino a propriedade Orientation com um ou mais quadros-chave.
A classe QuaternionKeyFrameAnimation é um dos tipos com suporte de KeyFrameAnimations usados para animar a propriedade Orientation em um Visual. Quatérnios são uma maneira útil e, às vezes, mais simples de pensar sobre rotações – quatérnios tomam o caminho mais curto entre ângulos e evitam problemas como Gimbal Lock em que matrizes de rotação e eixo e rotação são executadas. Um Quatérnio é composto por dois componentes: uma parte escalar e vetor.
public ref class QuaternionKeyFrameAnimation sealed : KeyFrameAnimation
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.LiftedContract, 65536)]
/// [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.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
class QuaternionKeyFrameAnimation final : KeyFrameAnimation
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.LiftedContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class QuaternionKeyFrameAnimation : KeyFrameAnimation
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
public sealed class QuaternionKeyFrameAnimation : KeyFrameAnimation
Public NotInheritable Class QuaternionKeyFrameAnimation
Inherits KeyFrameAnimation
- Herança
-
Object Platform::Object IInspectable CompositionObject CompositionAnimation KeyFrameAnimation QuaternionKeyFrameAnimation
- Atributos
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 comentários de CompositionObject.StartAnimation para obter uma lista de propriedades animatáveis.
Um Quatérnio é composto por duas partes distinguíveis: um vetor e um componente escalar. Ao usar com animações keyframe, o Quaternion 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érnio, você pode utilizar funções auxiliares System.Numerics Quaternion que permitem criar Quatérnios a partir de uma combinação Eixo/Ângulo, Matriz de Rotação ou Yaw/Pitch/Roll. No exemplo acima, o mesmo Quaternion pode ser construído a partir do auxiliar abaixo:
Quaternion quaternion = Quaternion.CreateFromAxisAngle(new Vector3(1.0f, 0.0f, 0.0f), 0.78f);
Propriedades
| Nome | Description |
|---|---|
| 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 |
Atraso antes que a animação seja iniciada após CompositionObject.StartAnimation ser 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 de ponta a ponta ou alternar entre iniciar e terminar para iniciar se a animação tiver uma Iteração Maior que uma. Isso fornece uma maneira fácil de personalizar definições de animação. (Herdado de KeyFrameAnimation) |
| DispatcherQueue |
Obtém o DispatcherQueue para o CompositionObject. (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 que a animação do quadro-chave deve ser repetida. (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) |