InteractionTracker.TryUpdateScaleWithAnimation 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 Skalierung mit der angegebenen Animation zu aktualisieren.
Die TryUpdateScaleWithAnimation-Methode aktualisiert die Skalierungsposition von InteractionTracker basierend auf der als Parameter eingegebenen CompositionAnimation . 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. TryUpdateScaleWithAnimation 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 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
Parameter
- animation
- CompositionAnimation
Die Animation, die auf die Skalierung 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(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);
}
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 TryUpdateScaleWithAnimation übergeben wird.
Wenn Sie die Animation definieren, die die Skalierungsposition von InteractionTracker animiert, müssen Sie entweder eine ScalarKeyFrameAnimation oder eine ExpressionAnimation verwenden, die in einen Skalar 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. |