InteractionTracker.TryUpdateScaleWithAnimation 方法

定义

尝试使用指定的动画更新刻度。

TryUpdateScaleWithAnimation 方法根据作为参数输入的 CompositionAnimation 更新 InteractionTracker 的缩放位置。 此方法用于需要由特定动画(而不是传统惯性体验)定义 InteractionTracker 运动的情况。 可以从空闲或惯性状态调用 TryUpdateScaleWithAnimation - 这样做, InteractionTracker 的位置将由定义的动画驱动并进入 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

参数

animation
CompositionAnimation

要应用于刻度的动画。

centerPoint
Vector3 Vector3

float3

新的中心点。

返回

Int32

int

返回请求 ID。 在状态转换时,导致状态更改的请求将包含在参数中。 这些 ID 将从 1 开始,并在应用程序的生存期内随着每次尝试调用而增加。

示例

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

注解

创建要用于更新 InteractionTracker 位置的动画时,无需调用 Microsoft.UI.Composition.CompositionObject.StartAnimation。 通过 TryUpdateScaleWithAnimation 传入动画后,系统会在后台处理此操作。

定义对 InteractionTracker 缩放位置进行动画处理的动画时,请确保使用 ScalarKeyFrameAnimation 或解析为标量的 ExpressionAnimation

下表汇总了在特定状态下调用此方法时的预期行为:

当前状态业务成效
闲置请求的动画从请求的属性开始,状态更改到 CustomAnimation
正在交互请求已忽略
惯性请求的动画从请求的属性开始,状态更改到 CustomAnimation
CustomAnimation当前动画停止,新请求的动画在请求的属性上启动,状态重新进入 CustomAnimation

适用于