QuaternionKeyFrameAnimation Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Анимация на основе времени, ориентированная на свойство Orientation с одним или несколькими ключевыми кадрами.
Класс QuaternionKeyFrameAnimation является одним из поддерживаемых типов KeyFrameAnimation, который используется для анимации свойства Orientation в визуальном элементе. Кватернионы — это полезный, а иногда и более простой способ думать о поворотах. Кватернионы проходят самый короткий путь между углами и избежать таких проблем, как gimbal Lock, с которыми возникают угол/ось поворота и матрицы поворота. Кватернион состоит из двух компонентов: скалярной и векторной части.
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
- Наследование
-
Object Platform::Object IInspectable CompositionObject CompositionAnimation KeyFrameAnimation QuaternionKeyFrameAnimation
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10586.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v2.0)
|
Примеры
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);
}
Комментарии
Анимация связывается со свойством объекта путем вызова CompositionObject.StartAnimation и указания имени свойства и анимации. Список анимируемых свойств см. в разделе примечаний compositionObject.StartAnimation .
Кватернион состоит из двух различимых частей: вектора и скалярного компонента. При использовании с анимацией ключевых кадров кватернион можно определить с помощью нотации System.Numerics с 4 числами с плавающей точкой или Vector3 и скалярным значением. System.Numerics предоставляет конструкторы для любой из этих нотации.
При преобразовании поворота в кватернион можно использовать вспомогательные функции кватерниона System.Numerics, которые позволяют создавать кватернионы из кватернионов из кватерниона, матрицы поворота или рыскания, шаг/рулон. В приведенном выше примере тот же кватернион можно создать из следующего вспомогательного средства:
Quaternion quaternion = Quaternion.CreateFromAxisAngle(new Vector3(1.0f, 0.0f, 0.0f), 0.78f);
Свойства
Comment |
Строка, связанная с CompositionObject. (Унаследовано от CompositionObject) |
Compositor |
Составитель, используемый для создания этого объекта CompositionObject. (Унаследовано от CompositionObject) |
DelayBehavior |
Поведение задержки анимации ключевого кадра. (Унаследовано от KeyFrameAnimation) |
DelayTime |
Задержка перед запуском анимации после вызова CompositionObject.StartAnimation . (Унаследовано от KeyFrameAnimation) |
Direction |
Направление воспроизведения анимации. Свойство Direction позволяет управлять анимацией от начала до конца или конца к началу или чередоваться между запуском и окончанием или с конца на начало, если анимация имеет значение IterationCount больше единицы. Это дает простой способ настройки определений анимации. (Унаследовано от KeyFrameAnimation) |
Dispatcher |
Диспетчер для CompositionObject. (Унаследовано от CompositionObject) |
DispatcherQueue |
Возвращает dispatcherQueue для объекта CompostionObject. (Унаследовано от CompositionObject) |
Duration |
Длительность анимации. (Унаследовано от KeyFrameAnimation) |
ImplicitAnimations |
Коллекция неявных анимаций, присоединенных к этому объекту. (Унаследовано от CompositionObject) |
InitialValueExpressions |
Возвращает начальные значения для анимации. (Унаследовано от CompositionAnimation) |
IterationBehavior |
Поведение итерации для анимации ключевых кадров. (Унаследовано от KeyFrameAnimation) |
IterationCount |
Количество повторов анимации по ключевым кадрам. (Унаследовано от KeyFrameAnimation) |
KeyFrameCount |
Количество ключевых кадров в KeyFrameAnimation. (Унаследовано от KeyFrameAnimation) |
Properties |
Коллекция свойств, связанных с CompositionObject. (Унаследовано от CompositionObject) |
StopBehavior |
Указывает, как задать значение свойства при вызове StopAnimation . (Унаследовано от KeyFrameAnimation) |
Target |
Целевой объект анимации. (Унаследовано от CompositionAnimation) |