共用方式為


QuaternionKeyFrameAnimation 類別

定義

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

QuaternionKeyFrameAnimation 類別是 KeyFrameAnimation支援的其中一種類型,可用來在 Visual上以動畫顯示 Orientation 屬性。 四元數是一種實用且有時更簡單的方式來思考旋轉 – 四元數採用角度之間的最短路徑,並避免如旋轉角度/軸和旋轉矩陣的 Gimbal Lock 之類的問題。 四元數是由兩個元件所組成:純量和向量部分。

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 的備註一節。

四元數是由兩個可辨別部分所組成:向量和純量元件。 搭配 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)
DispatcherQueue

取得 CompositionObject 的 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)
Dispose()

執行與釋放、釋放或重設非受控資源相關聯的應用程式定義工作。

(繼承來源 CompositionObject)
InsertExpressionKeyFrame(Single, String, CompositionEasingFunction)

插入表達式主要畫面格。

(繼承來源 KeyFrameAnimation)
InsertExpressionKeyFrame(Single, String)

插入表達式主要畫面格。

(繼承來源 KeyFrameAnimation)
InsertKeyFrame(Single, Quaternion, CompositionEasingFunction)

使用指定的 easing 函式插入主要畫面格。

InsertKeyFrame(Single, Quaternion)

插入主要畫面格。

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, AnimationController)

連接動畫與 物件的指定屬性,並啟動動畫。

(繼承來源 CompositionObject)
StartAnimation(String, CompositionAnimation)

連接動畫與 物件的指定屬性,並啟動動畫。

(繼承來源 CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

啟動動畫群組。

CompositionObject 上的 StartAnimationGroup 方法可讓您啟動 compositionAnimationGroup。 群組中的所有動畫都會在 對象上同時啟動。

(繼承來源 CompositionObject)
StopAnimation(String)

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

(繼承來源 CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

停止動畫群組。

(繼承來源 CompositionObject)
TryGetAnimationController(String)

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

(繼承來源 CompositionObject)

適用於

另請參閱