QuaternionKeyFrameAnimation 類別

定義

以時間為基礎的動畫,以一或多個主要畫面格為目標的 Orientation 屬性。

QuaternionKeyFrameAnimation 類別是其中一種支援的KeyFrameAnimation類型,用來以動畫顯示 Visual上的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 的備註一節。

四元數是由兩個可辨別部分所組成:向量和純量元件。 搭配 KeyFrame 動畫使用時,四元數可以透過 4 個浮點數或 Vector3 和純量的 System.Numerics 標記法來定義。 System.Numerics 提供上述任一標記法的建構函式。

將旋轉轉譯成四元數時,您可以使用 System.Numerics Quaternion 協助程式函式,讓您從軸/角度組合、旋轉矩陣或 Yaw/Pitch/Roll 建立四元數。 在上述範例中,可以從下列協助程式建構相同的四元數:

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

屬性

Comment

要與 CompositionObject 建立關聯的字串。

(繼承來源 CompositionObject)
Compositor

用來建立這個CompositionObjectCompositor

(繼承來源 CompositionObject)
DelayBehavior

主要畫面格動畫的延遲行為。

(繼承來源 KeyFrameAnimation)
DelayTime

呼叫 CompositionObject.StartAnimation 之後動畫開始之前的延遲。

(繼承來源 KeyFrameAnimation)
Direction

動畫現正播放的方向。

Direction屬性可讓您在動畫有大於一個的IterationCount時,從頭到端或端對端驅動動畫,從開始或端對端開始或替代。 這可讓您輕鬆自訂動畫定義。

(繼承來源 KeyFrameAnimation)
Dispatcher

CompositionObject的發送器。

(繼承來源 CompositionObject)
DispatcherQueue

取得 CompostionObject 的 DispatcherQueue

(繼承來源 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()

執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之應用程式定義的工作。

(繼承來源 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)

啟動動畫群組。

CompositionObject上的 StartAnimationGroup 方法可讓您啟動CompositionAnimationGroup。 群組中的所有動畫都會在 物件上同時啟動。

(繼承來源 CompositionObject)
StopAnimation(String)

中斷與指定屬性的動畫連線,並停止動畫。

(繼承來源 CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

停止動畫群組。

(繼承來源 CompositionObject)
TryGetAnimationController(String)

傳回在指定屬性上執行的動畫的 AnimationController。

(繼承來源 CompositionObject)

適用於

另請參閱