共用方式為


InteractionTracker.TryUpdateScaleWithAnimation 方法

定義

嘗試使用指定的動畫來更新縮放比例。

TryUpdateScaleWithAnimation 方法會根據輸入為參數的CompositionAnimation來更新InteractionTracker的縮放位置。 這個方法用於 互動Tracker 的動作需要由特定動畫定義,而不是傳統的慣性體驗。 TryUpdateScaleWithAnimation 可以從 Idle 或 Inertia 狀態呼叫 –這樣做, 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

傳回要求識別碼。 在狀態轉換時,造成狀態變更的要求將會包含在引數中。 這些識別碼會從 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 位置的動畫時,您不需要呼叫 StartAnimation。 一旦透過 TryUpdateScaleWithAnimation 傳入動畫,系統就會在幕後處理此動作。

定義將產生 InteractionTracker 縮放位置動畫的動畫時,請務必使用 ScalarKeyFrameAnimation 或解析為純量的 ExpressionAnimation

下表摘要說明以特定狀態呼叫此方法時的預期行為:

目前狀態成果
閒置要求的動畫會從要求的屬性開始,狀態變更為 CustomAnimation
Interacting要求已忽略
慣性要求的動畫會從要求的屬性開始,狀態變更為 CustomAnimation
CustomAnimation目前的動畫會停止,而新的要求動畫會在要求的屬性上啟動,狀態會重新進入 CustomAnimation

適用於