次の方法で共有


InteractionTracker.TryUpdatePositionWithAnimation メソッド

定義

アニメーションを適用して InteractionTracker の位置を更新しようとします。

TryUpdatePositionWithAnimation メソッドは、CompositionAnimation 入力に基づいて、パラメーターとして InteractionTracker の位置を更新します。 このメソッドは、従来の慣性エクスペリエンスではなく、特定のアニメーションによって InteractionTracker のモーションを定義する必要がある状況で使用されます。 TryUpdatePositionWithAnimation は、アイドル状態または慣性状態から呼び出すことができます。これにより、 InteractionTracker の位置は定義されたアニメーションによって駆動され、CustomAnimation 状態になります。

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

パラメーター

animation
CompositionAnimation

InteractionTracker に適用するアニメーション。

戻り値

Int32

int

要求 ID を返します。 状態遷移では、状態の変化の原因となった要求が args に含まれます。 これらの ID は 1 から始まり、アプリケーションの有効期間中に各試行呼び出しで増加します。

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

注釈

InteractionTracker の位置を更新するアニメーションを作成するときに、Microsoft.UI.Composition.CompositionObject.StartAnimation を呼び出す必要はありません。 TryUpdatePositionWithAnimation を介してアニメーションが渡されると、この処理はシステムによってバックグラウンドで行われます。

InteractionTracker の位置をアニメーション化するアニメーションを定義する場合は、Vector3KeyFrameAnimation または Vector3 に解決される ExpressionAnimation を使用してください。

次の表は、このメソッドが特定の状態で呼び出されたときの予想される動作をまとめたものです。

現在の状態結果
アイドル要求されたアニメーションは、要求されたプロパティで開始され、状態が CustomAnimation に変更されます
操作中要求が無視されました
慣性要求されたアニメーションは、要求されたプロパティで開始され、状態が CustomAnimation に変更されます
CustomAnimation現在のアニメーションが停止し、要求されたプロパティで新しい要求されたアニメーションが開始され、状態が CustomAnimation に再入力されます

適用対象