InteractionTracker.TryUpdateScaleWithAnimation Metodo
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.
Tenta di aggiornare la scala con l'animazione specificata.
Il metodo TryUpdateScaleWithAnimation aggiorna la posizione di scala di InteractionTracker in base all'input CompositionAnimation immesso come parametro. Questo metodo viene usato in situazioni in cui il movimento di InteractionTracker deve essere definito da un'animazione specifica, anziché dall'esperienza tradizionale inertia. TryUpdateScaleWithAnimation può essere chiamato dallo stato Idle o Inertia. In questo modo, la posizione di InteractionTracker verrà guidata dall'animazione definita e immettere lo stato CustomAnimation.
public:
virtual int TryUpdateScaleWithAnimation(CompositionAnimation ^ animation, float3 centerPoint) = TryUpdateScaleWithAnimation;
int TryUpdateScaleWithAnimation(CompositionAnimation const& animation, float3 const& centerPoint);
public int TryUpdateScaleWithAnimation(CompositionAnimation animation, Vector3 centerPoint);
function tryUpdateScaleWithAnimation(animation, centerPoint)
Public Function TryUpdateScaleWithAnimation (animation As CompositionAnimation, centerPoint As Vector3) As Integer
Parametri
- animation
- CompositionAnimation
Animazione da applicare alla scala.
Restituisce
int
Restituisce l'ID richiesta. Nelle transizioni di stato, la richiesta che ha causato la modifica dello stato verrà inclusa nell'args. Questi ID iniziano a 1 e aumentano con ogni chiamata di tentativo durante la durata dell'applicazione.
Esempio
void CustomAnimationForIT(float newScale, Vector3 newCenterPoint)
{
// Create a cubic bezier easing function that will be used in the KeyFrames
CompositionEasingFunction cubicBezier = _compositor.CreateCubicBezierEasingFunction(new Vector2(.17f, .67f), new Vector2(1f, 1f);
// Create the Vector3 KFA
ScalarKeyFrameAnimation kfa = _compositor.CreateScalarKeyFrameAnimation();
kfa.Duration = TimeSpan.FromSeconds(3);
// Create the KeyFrames
kfa.InsertKeyFrame(1.0f, newScale, cubicBezier);
// Update InteractionTracker position using this animation
_tracker.TryUpdatePositionWithAnimation(kfa, newCenterPoint);
}
Commenti
Quando si crea l'animazione con cui si vuole aggiornare la posizione di InteractionTracker , non è necessario chiamare Microsoft.UI.CompositionObject.StartAnimation. Il sistema si occupa di questa operazione dietro le quinte dopo che l'animazione viene passata tramite TryUpdateScaleWithAnimation.
Quando si definisce l'animazione che anima la posizione di scala di InteractionTracker , assicurarsi di usare scalarKeyFrameAnimation o expressionAnimation che si risolve in un scalare.
La tabella seguente riepiloga il comportamento previsto quando questo metodo viene chiamato in uno stato specifico:
Stato corrente | Risultato |
---|---|
Idle | L'animazione richiesta viene avviata sulla proprietà richiesta, le modifiche dello stato a CustomAnimation |
Interazione | Richiesta ignorata |
Inerzia | L'animazione richiesta viene avviata sulla proprietà richiesta, le modifiche dello stato a CustomAnimation |
CustomAnimation | L'animazione corrente si arresta e viene avviata una nuova animazione richiesta sulla proprietà richiesta, lo stato viene nuovamente immesso in CustomAnimation |