Поделиться через


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)

Методы

ClearAllParameters()

Очищает все параметры анимации.

(Унаследовано от CompositionAnimation)
ClearParameter(String)

Удаляет параметр из анимации.

(Унаследовано от CompositionAnimation)
Close()

Закрывает объект CompositionObject и освобождает системные ресурсы.

(Унаследовано от CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Соединения и анимация.

(Унаследовано от CompositionObject)
DisconnectAnimation(String)

Отключает анимацию.

(Унаследовано от CompositionObject)
Dispose()

Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.

(Унаследовано от CompositionObject)
InsertExpressionKeyFrame(Single, String)

Вставляет ключевой кадр выражения.

(Унаследовано от KeyFrameAnimation)
InsertExpressionKeyFrame(Single, String, CompositionEasingFunction)

Вставляет ключевой кадр выражения.

(Унаследовано от KeyFrameAnimation)
InsertKeyFrame(Single, Quaternion)

Вставляет ключевой кадр.

InsertKeyFrame(Single, Quaternion, CompositionEasingFunction)

Вставляет ключевой кадр с указанной функцией easing.

PopulatePropertyInfo(String, AnimationPropertyInfo)

Определяет свойство, которое можно анимировать.

(Унаследовано от CompositionObject)
SetBooleanParameter(String, Boolean)

Задает параметр логического значения для использования с ExpressionAnimation или ключевым кадром выражения.

(Унаследовано от CompositionAnimation)
SetColorParameter(String, Color)

Задает параметр значения Color для использования с ExpressionAnimation или ключевым кадром выражения.

(Унаследовано от CompositionAnimation)
SetExpressionReferenceParameter(String, IAnimationObject)

Задает объект, реализующий IAnimationObject в качестве ссылочного параметра в ExpressionAnimation.

(Унаследовано от CompositionAnimation)
SetMatrix3x2Parameter(String, Matrix3x2)

Задает параметр значения Matrix3x2 для использования с ExpressionAnimation или ключевым кадром выражения.

(Унаследовано от CompositionAnimation)
SetMatrix4x4Parameter(String, Matrix4x4)

Задает параметр значения Matrix4x4 для использования с ExpressionAnimation или ключевым кадром выражения.

(Унаследовано от CompositionAnimation)
SetQuaternionParameter(String, Quaternion)

Задает значение кватерниона для использования с ExpressionAnimation или ключевым кадром выражения.

(Унаследовано от CompositionAnimation)
SetReferenceParameter(String, CompositionObject)

Задает ссылку на объект Composition для использования с ExpressionAnimation или ключевым кадром выражения.

(Унаследовано от CompositionAnimation)
SetScalarParameter(String, Single)

Задает параметр скалярного значения для использования с ExpressionAnimation или ключевым кадром выражения.

(Унаследовано от CompositionAnimation)
SetVector2Parameter(String, Vector2)

Задает параметр значения Vector2 для использования с ExpressionAnimation или ключевым кадром выражения.

(Унаследовано от CompositionAnimation)
SetVector3Parameter(String, Vector3)

Задает параметр значения Vector3 для использования с ExpressionAnimation или ключевым кадром выражения.

(Унаследовано от CompositionAnimation)
SetVector4Parameter(String, Vector4)

Задает параметр значения Vector4 для использования с ExpressionAnimation или ключевым кадром выражения.

(Унаследовано от CompositionAnimation)
StartAnimation(String, CompositionAnimation)

Соединяет анимацию с указанным свойством объекта и запускает анимацию.

(Унаследовано от CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Соединяет анимацию с указанным свойством объекта и запускает анимацию.

(Унаследовано от CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Запускает группу анимации.

Метод StartAnimationGroup в CompositionObject позволяет запустить CompositionAnimationGroup. Все анимации в группе будут запущены одновременно для объекта .

(Унаследовано от CompositionObject)
StopAnimation(String)

Отключает анимацию от указанного свойства и останавливает анимацию.

(Унаследовано от CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Останавливает группу анимации.

(Унаследовано от CompositionObject)
TryGetAnimationController(String)

Возвращает AnimationController для анимации, выполняемой с указанным свойством.

(Унаследовано от CompositionObject)

Применяется к

См. также раздел