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


QuaternionKeyFrameAnimation Класс

Определение

Анимация на основе времени, предназначенная для свойства Orientation с одним или несколькими ключевыми кадрами.

Класс QuaternionKeyFrameAnimation является одним из поддерживаемых типов keyFrameAnimation, используемых для анимации свойства Orientation в Visual. Кватернионы — это удобный и иногда простой способ подумать о поворотах — Кватернионы принимают самый короткий путь между углами и избежать таких проблем, как Гимблальная блокировка, вращающаяся угол или ось и матрицы поворота. Кватернион состоит из двух компонентов: скалярной и векторной части.

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
Наследование
Object Platform::Object IInspectable CompositionObject CompositionAnimation KeyFrameAnimation QuaternionKeyFrameAnimation
Атрибуты

Примеры

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, которые позволяют создавать кватернионы из кватернионов из комбо оси или угла, матрицы поворота или явя или шаг/roll. В приведенном выше примере можно создать тот же Кватернион из следующего вспомогательного элемента:

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

Свойства

Comment

Строка, связанная с CompositionObject.

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

Compositor, используемый для создания этого CompositionObject.

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

Поведение задержки анимации ключевого кадра.

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

Задержка до запуска анимации после вызова CompositionObject.StartAnimation.

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

Направление воспроизведения анимации.

Свойство направления позволяет управлять анимацией от начала до конца или конца, чтобы начать или альтернативное между началом или окончанием, если анимация имеет IterationCount больше одного. Это позволяет легко настраивать определения анимации.

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

Возвращает диспетчерку для CompositionObject.

(Унаследовано от 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)
Dispose()

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

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

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

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

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

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

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

InsertKeyFrame(Single, Quaternion)

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

PopulatePropertyInfo(String, AnimationPropertyInfo)

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

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

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

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

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

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

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

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

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

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

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

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

Задает значение 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, AnimationController)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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