Freigeben über


QuaternionKeyFrameAnimation Klasse

Definition

Eine zeitbasierte Animation, die auf die Orientation-Eigenschaft mit einem oder mehreren Keyframes ausgerichtet ist.

Die QuaternionKeyFrameAnimation-Klasse ist einer der unterstützten Typen von KeyFrameAnimations, die zum Animieren der Orientation-Eigenschaft für eine Visualverwendet wird. Quaternionen sind eine nützliche und manchmal einfachere Möglichkeit, Umdrehungen zu berücksichtigen – Quaternions nehmen den kürzesten Weg zwischen Winkeln und vermeiden Probleme wie Gimbal Lock, in die Drehwinkel/Achse und Drehmatrizen fließen. Eine Quaternion besteht aus zwei Komponenten: einem Skalar- und Vektorteil.

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
Vererbung
Object Platform::Object IInspectable CompositionObject CompositionAnimation KeyFrameAnimation QuaternionKeyFrameAnimation
Attribute

Beispiele

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);
}

Hinweise

Eine Animation wird der Eigenschaft eines Objekts zugeordnet, indem CompositionObject.StartAnimation aufgerufen und der Eigenschaftenname und die Animation angegeben werden. Eine Liste der animierbaren Eigenschaften finden Sie im Abschnitt CompositionObject.StartAnimation.

Eine Quaternion besteht aus zwei unterscheidungsfähigen Teilen: einem Vektor und einer skalaren Komponente. Bei Verwendung mit Keyframeanimationen kann die Quaternion durch die Notation von System.Numerics von 4 Floats oder einem Vector3 und einem Skalar definiert werden. System.Numerics stellt Konstruktoren für eine dieser Notationen bereit.

Wenn Sie eine Drehung in eine Quaternion übersetzen, können Sie System.Numerics Quaternion-Hilfsfunktionen verwenden, mit denen Sie Quaternionen aus einer Achsen-/Winkel-Kombination, Einer Drehungsmatrix oder einer Drehungsmatrix oder einer Drehung/Neigung/Rolle erstellen können. Im obigen Beispiel könnte dieselbe Quaternion aus dem folgenden Hilfsprogramm erstellt werden:

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

Eigenschaften

Comment

Eine Zeichenfolge, die dem CompositionObject zugeordnet werden soll.

(Geerbt von CompositionObject)
Compositor

Der Compositor verwendet, um dieses CompositionObjectzu erstellen.

(Geerbt von CompositionObject)
DelayBehavior

Das Verzögerungsverhalten der Keyframeanimation.

(Geerbt von KeyFrameAnimation)
DelayTime

Verzögerung, bevor die Animation beginnt, nachdem CompositionObject.StartAnimation aufgerufen wird.

(Geerbt von KeyFrameAnimation)
Direction

Die Richtung, in der die Animation wiedergegeben wird.

Mit der Direction-Eigenschaft können Sie die Animation von Anfang bis Ende bis Ende steuern, um zu starten oder zwischen Start und Ende zu beginnen oder zu wechseln, wenn die Animation über ein IterationCount größer als eins verfügt. Dies bietet eine einfache Möglichkeit zum Anpassen von Animationsdefinitionen.

(Geerbt von KeyFrameAnimation)
DispatcherQueue

Ruft den DispatcherQueue für das CompositionObject ab.

(Geerbt von CompositionObject)
Duration

Die Dauer der Animation.

(Geerbt von KeyFrameAnimation)
ImplicitAnimations

Die Auflistung impliziter Animationen, die diesem Objekt zugeordnet sind.

(Geerbt von CompositionObject)
InitialValueExpressions

Ruft die Anfangswerte für die Animation ab.

(Geerbt von CompositionAnimation)
IterationBehavior

Das Iterationsverhalten für die Keyframeanimation.

(Geerbt von KeyFrameAnimation)
IterationCount

Die Anzahl der Wiederholungen der Keyframeanimation.

(Geerbt von KeyFrameAnimation)
KeyFrameCount

Die Anzahl der Keyframes in der KeyframeAnimation.

(Geerbt von KeyFrameAnimation)
Properties

Die Auflistung der Eigenschaften, die dem CompositionObject-zugeordnet sind.

(Geerbt von CompositionObject)
StopBehavior

Gibt an, wie der Eigenschaftswert festgelegt wird, wenn StopAnimation- aufgerufen wird.

(Geerbt von KeyFrameAnimation)
Target

Das Ziel der Animation.

(Geerbt von CompositionAnimation)

Methoden

ClearAllParameters()

Löscht alle Parameter der Animation.

(Geerbt von CompositionAnimation)
ClearParameter(String)

Löscht einen Parameter aus der Animation.

(Geerbt von CompositionAnimation)
Close()

Schließt das CompositionObject und gibt Systemressourcen frei.

(Geerbt von CompositionObject)
Dispose()

Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Freigeben oder Zurücksetzen nicht verwalteter Ressourcen verknüpft sind.

(Geerbt von CompositionObject)
InsertExpressionKeyFrame(Single, String, CompositionEasingFunction)

Fügt einen Ausdrucks-Keyframe ein.

(Geerbt von KeyFrameAnimation)
InsertExpressionKeyFrame(Single, String)

Fügt einen Ausdrucksschlüsselrahmen ein.

(Geerbt von KeyFrameAnimation)
InsertKeyFrame(Single, Quaternion, CompositionEasingFunction)

Fügt einen Keyframe mit der angegebenen Beschleunigungsfunktion ein.

InsertKeyFrame(Single, Quaternion)

Fügt einen Keyframe ein.

PopulatePropertyInfo(String, AnimationPropertyInfo)

Definiert eine Eigenschaft, die animiert werden kann.

(Geerbt von CompositionObject)
SetBooleanParameter(String, Boolean)

Legt einen booleschen Wertparameter für die Verwendung mit einem ExpressionAnimation- oder einem Ausdruck-Keyframe-fest.

(Geerbt von CompositionAnimation)
SetColorParameter(String, Color)

Legt einen Color Wertparameter für die Verwendung mit einem ExpressionAnimation- oder einem Ausdruck-Keyframe-fest.

(Geerbt von CompositionAnimation)
SetExpressionReferenceParameter(String, IAnimationObject)

Legt ein Objekt fest, das IAnimationObject als Referenzparameter in einem ExpressionAnimation-implementiert.

(Geerbt von CompositionAnimation)
SetMatrix3x2Parameter(String, Matrix3x2)

Legt einen Matrix3x2 Wertparameter für die Verwendung mit einem ExpressionAnimation- oder einem Ausdruck-Keyframe-fest.

(Geerbt von CompositionAnimation)
SetMatrix4x4Parameter(String, Matrix4x4)

Legt einen Matrix4x4 Wertparameter für die Verwendung mit einem ExpressionAnimation- oder einem Ausdruck-Keyframe-fest.

(Geerbt von CompositionAnimation)
SetQuaternionParameter(String, Quaternion)

Legt einen Quaternion-Wert für die Verwendung mit einem ExpressionAnimation- oder einem Ausdruck-Keyframe-fest.

(Geerbt von CompositionAnimation)
SetReferenceParameter(String, CompositionObject)

Legt einen Verweis auf ein Composition -Objekt für die Verwendung mit einer ExpressionAnimation oder einem Ausdruck Keyframe.

(Geerbt von CompositionAnimation)
SetScalarParameter(String, Single)

Legt einen Skalar-Wertparameter für die Verwendung mit einem ExpressionAnimation- oder einem Ausdruck-Keyframe-fest.

(Geerbt von CompositionAnimation)
SetVector2Parameter(String, Vector2)

Legt einen Vector2 Wertparameter für die Verwendung mit einem ExpressionAnimation- oder einem Ausdruck-Keyframe-fest.

(Geerbt von CompositionAnimation)
SetVector3Parameter(String, Vector3)

Legt einen Vector3 Wertparameter für die Verwendung mit einem ExpressionAnimation- oder einem Ausdruck-Keyframe-fest.

(Geerbt von CompositionAnimation)
SetVector4Parameter(String, Vector4)

Legt einen Vector4 Wertparameter für die Verwendung mit einem ExpressionAnimation- oder einem Ausdruck-Keyframe-fest.

(Geerbt von CompositionAnimation)
StartAnimation(String, CompositionAnimation, AnimationController)

Verbindet eine Animation mit der angegebenen Eigenschaft des Objekts und startet die Animation.

(Geerbt von CompositionObject)
StartAnimation(String, CompositionAnimation)

Verbindet eine Animation mit der angegebenen Eigenschaft des Objekts und startet die Animation.

(Geerbt von CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Startet eine Animationsgruppe.

Mit der StartAnimationGroup-Methode für CompositionObject- können Sie CompositionAnimationGroup-starten. Alle Animationen in der Gruppe werden gleichzeitig für das Objekt gestartet.

(Geerbt von CompositionObject)
StopAnimation(String)

Trennt eine Animation von der angegebenen Eigenschaft und stoppt die Animation.

(Geerbt von CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Beendet eine Animationsgruppe.

(Geerbt von CompositionObject)
TryGetAnimationController(String)

Gibt einen AnimationController für die Animation zurück, die auf der angegebenen Eigenschaft ausgeführt wird.

(Geerbt von CompositionObject)

Gilt für:

Weitere Informationen