QuaternionKeyFrameAnimation Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Animazione basata sul tempo che punta alla proprietà Orientation con uno o più fotogrammi chiave.
La classe QuaternionKeyFrameAnimation è uno dei tipi supportati di KeyFrameAnimations che viene usato per animare la proprietà Orientation in un oggetto Visivo. I quaternioni sono un modo utile e talvolta più semplice per pensare alle rotazioni: i quaternioni prendono il percorso più breve tra angoli ed evitare problemi come Blocchi gimbal che ruotano l'angolo/asse e le matrici di rotazione eseguite. Un Quaternion è costituito da due componenti: una parte scalare e vettore.
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
- Ereditarietà
-
Object Platform::Object IInspectable CompositionObject CompositionAnimation KeyFrameAnimation QuaternionKeyFrameAnimation
- Attributi
Esempio
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);
}
Commenti
Un'animazione è associata alla proprietà di un oggetto chiamando CompositionObject.StartAnimation e specificando il nome della proprietà e l'animazione. Per un elenco di proprietà animabili, vedere la sezione osservazioni di CompositionObject.StartAnimation .
Un Quaternion è costituito da due parti distinguebili: un componente vettoriale e scalare. Quando si usa con animazioni keyframe, il Quaternion può essere definito dalla notazione di System.Numerics di 4 float o vector3 e scalare. System.Numerics fornisce costruttori per una di queste notazioni.
Quando si traduce una rotazione in un Quaternion, è possibile usare le funzioni helper System.Numerics Quaternion che consentono di creare quaternioni fuori da una combinazione Asse/Angolo, Matrice di rotazione o Yaw/Pitch/Roll. Nell'esempio precedente, lo stesso Quaternion potrebbe essere costruito dal helper seguente:
Quaternion quaternion = Quaternion.CreateFromAxisAngle(new Vector3(1.0f, 0.0f, 0.0f), 0.78f);
Proprietà
Comment |
Stringa da associare a CompositionObject. (Ereditato da CompositionObject) |
Compositor |
Compositore usato per creare questo oggetto CompositionObject. (Ereditato da CompositionObject) |
DelayBehavior |
Comportamento di ritardo dell'animazione del fotogramma chiave. (Ereditato da KeyFrameAnimation) |
DelayTime |
Ritardo prima dell'avvio dell'animazione dopo la chiamata di CompositionObject.StartAnimation . (Ereditato da KeyFrameAnimation) |
Direction |
La direzione in cui viene riprodotta l'animazione. La proprietà Direction consente di guidare l'animazione dall'inizio alla fine o alla fine o alternativa tra inizio e fine o fine per iniziare se l'animazione ha un IterationCount maggiore di uno. In questo modo è possibile personalizzare le definizioni di animazione. (Ereditato da KeyFrameAnimation) |
DispatcherQueue |
Ottiene DispatcherQueue per CompositionObject. (Ereditato da CompositionObject) |
Duration |
Durata dell'animazione. (Ereditato da KeyFrameAnimation) |
ImplicitAnimations |
Raccolta di animazioni implicite associate a questo oggetto. (Ereditato da CompositionObject) |
InitialValueExpressions |
Ottiene i valori iniziali per l'animazione. (Ereditato da CompositionAnimation) |
IterationBehavior |
Comportamento di iterazione per l'animazione del fotogramma chiave. (Ereditato da KeyFrameAnimation) |
IterationCount |
Numero di volte in cui ripetere l'animazione del fotogramma chiave. (Ereditato da KeyFrameAnimation) |
KeyFrameCount |
Numero di fotogrammi chiave nella KeyFrameAnimation. (Ereditato da KeyFrameAnimation) |
Properties |
Raccolta di proprietà associate a CompositionObject. (Ereditato da CompositionObject) |
StopBehavior |
Specifica come impostare il valore della proprietà quando viene chiamato StopAnimation . (Ereditato da KeyFrameAnimation) |
Target |
Destinazione dell'animazione. (Ereditato da CompositionAnimation) |