InteractionTracker.TryUpdatePositionWithAnimation Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Versucht, die Position des InteractionTrackers zu aktualisieren, indem eine Animation angewendet wird.
Die TryUpdatePositionWithAnimation-Methode aktualisiert die Position von InteractionTracker basierend auf der CompositionAnimation-Eingabe als Parameter. Diese Methode wird in Situationen verwendet, in denen die Bewegung von InteractionTracker durch eine bestimmte Animation definiert werden muss, anstatt durch die herkömmliche Inertia-Erfahrung. TryUpdatePositionWithAnimation kann aus dem Leerlauf- oder Trägheitszustand aufgerufen werden. Dadurch wird die Position von InteractionTracker von der definierten Animation gesteuert und wechselt in den CustomAnimation-Zustand.
public:
virtual int TryUpdatePositionWithAnimation(CompositionAnimation ^ animation) = TryUpdatePositionWithAnimation;
int TryUpdatePositionWithAnimation(CompositionAnimation const& animation);
public int TryUpdatePositionWithAnimation(CompositionAnimation animation);
function tryUpdatePositionWithAnimation(animation)
Public Function TryUpdatePositionWithAnimation (animation As CompositionAnimation) As Integer
Parameter
- animation
- CompositionAnimation
Die Animation, die auf den InteractionTracker angewendet werden soll.
Gibt zurück
int
Gibt die Anforderungs-ID zurück. Bei Zustandsübergängen wird die Anforderung, die die Zustandsänderung verursacht hat, in die Argumente eingeschlossen. Diese IDs beginnen bei 1 und erhöhen sich mit jedem Try-Aufruf während der Lebensdauer der Anwendung.
Beispiele
void CustomAnimationForIT(Vector3 newPosition)
{
// 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
Vector3KeyFrameAnimation kfa = _compositor.CreateVector3KeyFrameAnimation();
kfa.Duration = TimeSpan.FromSeconds(3);
// Create the KeyFrames
kfa.InsertKeyFrame(1.0f, newPosition, cubicBezier);
// Update InteractionTracker position using this animation
_tracker.TryUpdatePositionWithAnimation(kfa);
}
Hinweise
Wenn Sie die Animation erstellen, mit der Sie die Position von InteractionTracker aktualisieren möchten, müssen Sie StartAnimation nicht aufrufen. Das System übernimmt dies im Hintergrund, sobald die Animation über TryUpdatePositionWithAnimation übergeben wird.
Wenn Sie die Animation definieren, die die Position von InteractionTracker animiert, müssen Sie entweder eine Vector3KeyFrameAnimation oder eine ExpressionAnimation verwenden, die in einen Vector3 aufgelöst wird.
Die folgende Tabelle fasst das erwartete Verhalten zusammen, wenn diese Methode in einem bestimmten Zustand aufgerufen wird:
Aktueller Zustand | Ergebnis |
---|---|
Idle | Angeforderte Animation beginnt mit der angeforderten Eigenschaft, Zustandsänderungen in CustomAnimation |
Interaktion | Anforderung ignoriert |
Trägheit | Angeforderte Animation beginnt mit der angeforderten Eigenschaft, Zustandsänderungen in CustomAnimation |
CustomAnimation | Die aktuelle Animation wird beendet, und die neue angeforderte Animation wird bei der angeforderten Eigenschaft gestartet, der Zustand wechselt erneut in CustomAnimation. |