QuaternionKeyFrameAnimation Clase
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í.
Animación basada en tiempo que tiene como destino la propiedad Orientation con uno o varios fotogramas clave.
La clase QuaternionKeyFrameAnimation es uno de los tipos admitidos de KeyFrameAnimationque se usa para animar la propiedad Orientation en un objeto Visual. Los cuaterniones son una manera útil y a veces más sencilla de pensar en las rotaciones: los cuaterniones toman el camino más corto entre ángulos y evitan problemas como el bloqueo gimbal en el que se encuentran las matrices de giro y eje y ángulo de rotación. Un cuaternión se compone de dos componentes: una parte escalar y vectorial.
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
- Herencia
-
Object Platform::Object IInspectable CompositionObject CompositionAnimation KeyFrameAnimation QuaternionKeyFrameAnimation
- Atributos
Ejemplos
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);
}
Comentarios
Una animación está asociada a la propiedad de un objeto llamando a CompositionObject.StartAnimation y especificando el nombre de propiedad y la animación. Consulte la sección de comentarios de CompositionObject.StartAnimation para obtener una lista de propiedades animables.
Un cuaternión se compone de dos partes distintivas: un vector y un componente escalar. Cuando se usa con animaciones de fotograma clave, el cuaternión se puede definir mediante la notación de System.Numerics de 4 floats o vector3 y un escalar. System.Numerics proporciona constructores para cualquiera de estas notaciones.
Al traducir una rotación a un cuaternión, puede usar funciones auxiliares System.Numerics Quaternion que le permiten crear cuaterniones a partir de un combo eje/ángulo, matriz de rotación o eje/giro/lanzamiento/roll. En el ejemplo anterior, el mismo Quaternion se podría construir a partir del asistente siguiente:
Quaternion quaternion = Quaternion.CreateFromAxisAngle(new Vector3(1.0f, 0.0f, 0.0f), 0.78f);
Propiedades
Comment |
Cadena que se va a asociar con compositionObject. (Heredado de CompositionObject) |
Compositor |
Compositor que se usa para crear este CompositionObject. (Heredado de CompositionObject) |
DelayBehavior |
Comportamiento de retraso de la animación de fotograma clave. (Heredado de KeyFrameAnimation) |
DelayTime |
Retraso antes de que se inicie la animación después de llamar a CompositionObject.StartAnimation . (Heredado de KeyFrameAnimation) |
Direction |
Dirección en la que se está reproduciendo la animación. La propiedad Direction te 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. (Heredado de KeyFrameAnimation) |
DispatcherQueue |
Obtiene dispatcherQueue para compositionObject. (Heredado de CompositionObject) |
Duration |
Duración de la animación. (Heredado de KeyFrameAnimation) |
ImplicitAnimations |
Colección de animaciones implícitas adjuntas a este objeto. (Heredado de CompositionObject) |
InitialValueExpressions |
Obtiene los valores iniciales de la animación. (Heredado de CompositionAnimation) |
IterationBehavior |
Comportamiento de iteración para la animación del fotograma clave. (Heredado de KeyFrameAnimation) |
IterationCount |
Número de veces que se repite la animación del fotograma clave. (Heredado de KeyFrameAnimation) |
KeyFrameCount |
Número de fotogramas clave de KeyFrameAnimation. (Heredado de KeyFrameAnimation) |
Properties |
Colección de propiedades asociadas a CompositionObject. (Heredado de CompositionObject) |
StopBehavior |
Especifica cómo establecer el valor de propiedad cuando se llama a StopAnimation . (Heredado de KeyFrameAnimation) |
Target |
Destino de la animación. (Heredado de CompositionAnimation) |