次の方法で共有


InteractionTracker クラス

定義

ExpressionAnimations のターゲットとして使用できる入力のロジックを処理します。通常は、入力に基づいてビジュアルのモーションを駆動します。

public ref class InteractionTracker sealed : CompositionObject
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class InteractionTracker final : CompositionObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InteractionTracker : CompositionObject
Public NotInheritable Class InteractionTracker
Inherits CompositionObject
継承
Object Platform::Object IInspectable CompositionObject InteractionTracker
属性

Windows の要件

デバイス ファミリ
Windows 10 Anniversary Edition (10.0.14393.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v3.0 で導入)

void SetupSimpleInteractionTracker(Visual viewportVisual, Visual contentVisual)
{
  //
  // Create the InteractionTracker and set its min/max position and scale.  These could 
  // also be bound to expressions.  Note: The scrollable area can be changed from either 
  // the min or the max position to facilitate content updates/virtualization.
  //

  _tracker = InteractionTracker.Create(_compositor);

  _tracker.MaxPosition = new Vector3(
    contentVisual.Size.X - viewportVisual.Size.X,
    contentVisual.Size.Y - viewportVisual.Size.Y,
    0.0f);

  _tracker.MinScale = 0.5f;
  _tracker.MaxScale = 4.0f;


  //
  // Configure the interaction source.  Enable input with inertia on all axes.
  //

  var interactionSource = VisualInteractionSource.Create(viewportVisual);

  interactionSource.PositionXSourceMode = InteractionSourceMode.EnabledWithInertia;
  interactionSource.PositionYSourceMode = InteractionSourceMode.EnabledWithInertia;
  interactionSource.ScaleSourceMode = InteractionSourceMode.EnabledWithInertia;

  _tracker.InteractionSources.Add(interactionSource);


  //
  // Bind the InteractionTracker outputs to the contentVisual.
  //

  var positionExpression = _compositor.CreateExpressionAnimation("-tracker.Position");
  positionExpression.SetReferenceParameter("tracker", _tracker);

  contentVisual.StartAnimation("Offset", positionExpression);


  var scaleExpression = _compositor.CreateExpressionAnimation("Vector3(tracker.Scale, tracker.Scale, 1.0)");

  scaleExpression.SetReferenceParameter("tracker", _tracker);

  contentVisual.StartAnimation("Scale", scaleExpression);
}


注釈

InteractionTracker は、アクティブな入力、またはプロパティを更新またはアニメーション化するための明示的な呼び出しによって駆動できるステート マシンです。 InteractionTracker クラスは、カスタム対話エクスペリエンスのために CompositionAnimationを駆動する入力を有効にすることを目的としています。 対話型エクスペリエンスを構築するには、1 つ以上の VisualInteractionSourceInteractionTracker に関連付ける必要があります。

一般的なシナリオ

IneractionTracker は、次の目的で使用することを目的としています。

  • ユーザー設定のスワイプ動作を追加する (ListView アイテムのスワイプなど)、または削除/無視するその他のビジュアル
  • パンに関連付けられた画面切り替え (たとえば、スワイプして "閉じている" 状態と "開いている" 状態の間の遷移に切り替えるなど)
  • パンなどの効果の入力駆動型アニメーションでは、画面がぼかします
  • カスタム コントロール(パン速度が異なる ScrollViewer のカスタム実装を作成する、プログラムで制御する機能など)

InteractionTracker の状態と遷移

InteractionTracker は、次の 4 つの状態を持つステート マシンです。

  • アイドル状態: InteractionTracker を駆動するアクティブな入力またはアニメーションがありません
  • 対話: アクティブなユーザー入力が InteractionTracker を駆動している
  • 慣性: アクティブな入力またはプログラムの速度の結果であるアクティブなアニメーションは、InteractionTracker を駆動しています
  • CustomAnimation: InteractionTracker のプロパティが直接アニメーション化されています。次の図は、これらの 4 つの状態と、有効な状態遷移を示しています。
InteractionTracker の状態: アイドル、慣性、対話、カスタム アニメーション

状態遷移は、ユーザーの操作 (操作の開始や停止など) や InteractionTracker のメソッドの明示的な呼び出しが原因で発生する可能性があります。 これらの明示的な呼び出しのいずれかが行われるたびに、要求が無視されるか、状態変更が発生したかを追跡するために requestID が発行されます。

重要な点は、InteractionTracker が、それを使用しているアプリケーションとは異なるプロセスで実行されていることです。 そのため、InteractionTracker および関連するクラスのすべてのメソッド呼び出しは、IInteractionTrackerOwner インターフェイスを介して発行されたコールバックと同様に非同期です。

次に、各状態の変更が発生するトリガーについて説明します。

開始状態終了状態考えられるトリガー
アイドル操作中この状態遷移は、InteractionTracker に関連付けられている VisualInteractionSource に合わせたユーザー操作が実行されている場合にのみ発生します。
アイドル慣性この状態遷移は、InteractionTracker がアイドル状態で、TryUpdatePositionWithVelocity または TryUpdateScaleWithVelocity が呼び出された場合にのみ発生します。
アイドルCustomAnimationこの状態遷移は、InteractionTracker がアイドル状態で、TryUpdatePositionWithAnimation または TryUpdateScaleWithAnimation が呼び出されたときに発生します。
操作中慣性この状態遷移は、InteractionTracker に送信されたユーザー操作が完了した場合にのみ発生します。 アクティブな入力が終了すると、InteractionTracker は慣性状態に入り、指の解放速度や InertiaDecayRate などの情報によって慣性状態中の動作が決定されます。
慣性アイドルこの状態遷移は、位置やスケールの更新に使用されている関数が変更されなくなった場合に発生します。 言い換えると、位置とスケールの速度の両方がゼロになってしまったのです。 この状態遷移は、アニメーションや速度なしで位置またはスケールを明示的に更新する呼び出しが行われた場合にも発生する可能性があります。 これらの呼び出しは慣性を終了し、更新されたプロパティ値を使用して Idle に移行します。
慣性慣性この状態遷移は、既に慣性状態のときに TryUpdatePositionWithVelocity または TryUpdateScaleWithVelocity が呼び出されたときに発生します。 慣性を再入力すると、すべての InertiaStateEntered プロパティが再評価されます。
慣性CustomAnimationこの状態遷移は、慣性状態で TryUpdatePositionWithAnimation または TryUpdateScaleWithAnimation の呼び出しが行われたときに発生します。
慣性操作中この状態遷移は、慣性が完了する前に、VisualInteractionSource へのヒット テストを行うユーザーからのアクティブな入力が入ったときに発生します。
CustomAnimationアイドルこの状態遷移は、InteractionTracker の位置およびスケール プロパティに設定されているすべてのアニメーションが完了したときに発生します。
CustomAnimationCustomAnimationこの状態遷移は、既に CustomAnimation 状態のときに TryUpdatePositionWithAnimation または TryUpdateScaleWithAnimation の呼び出しが行われたときに発生します。
CustomAnimation慣性この状態遷移は、CustomAnimation 状態のときに TryUpdatePositionWithVelocity または TryUpdateScaleWithVelocity の呼び出しが行われたときに発生します。
CustomAnimation操作中この状態遷移は、InteractionTracker に関連付けられている VisualInteractionSource にヒット テストするユーザー操作が実行されるときに発生します。

InteractionTracker によって行われた状態遷移では、その状態に関連する情報と、状態変更の原因となった要求の requestID を含む引数を含む新しい状態を示すコールバックが生成されます。 ユーザーからのアクティブな操作では、requestID が 0 になります。 Try* 呼び出しでは、状態変更の原因となった Try* 呼び出しの追跡に使用できる requestID が発行されます。 アプリケーションの有効期間中の最初の requestID は 1 になり、後続の呼び出しごとに requestID がインクリメントされます。つまり、それぞれが一意になります。

InteractionTracker の位置とスケール

InteractionTracker の最も一般的に使用される 2 つのプロパティは、位置とスケールです。 これらのプロパティの一方または両方に変更がある場合は常に、ValuesChanged コールバックに現在の値に関する情報が送信されます。 InteractionTracker の非同期の性質上、InteractionTracker コールバックを介して受け取る値は、InteractionTracker とそのプロパティの現在の状態と値に関するアプリケーション ロジックを更新する最適な方法です。

InteractionTracker の重要な違いは、その位置とスケールが特定のビジュアルの座標空間に関連付けられていないということです。 InteractionTracker が作成されると、その位置にはベクターの x、y、z サブチャネルが 0 に設定され、scale は 1 に設定されます。 アクティブな入力または Try* 呼び出しのみが、これらの値を変更できます。 各プロパティの最小値と最大値によって、値が変動する可能性がある範囲が決まります。 1 つの例外は、"overpan" または "overzoom" という概念です。アクティブな操作により、対話状態の間に値が最小値または最大値をわずかに超える可能性があります。 ただし、操作が完了すると、値は常に設定範囲内で保存されます。 CustomAnimations は、位置とスケール用に設定された範囲内で常にクランプされます。

InteractionTracker 座標空間の概念は、画面座標の概念に合わせて、上下のモーションによって位置値が増加し、下/右のモーションによって位置値が減少するという点で調整されます。 その結果、ビジュアルの Offset にアタッチするときに position プロパティを否定するのが非常に一般的です。

既定では、最小と最大の位置チャネルはすべて 0 で、最小と最大のスケール値は 1 です。 いずれかのプロパティで必要な動作が、これらの開始値の外部で変更できるようにする場合は、最小値/最大値を更新する必要があります。

InteractionTracker と ExpressionAnimations

InteractionTracker は、 ExpressionAnimations のコンテキストで使用できるさまざまなプロパティを公開し、 CompositionObject のアニメーション化可能なプロパティの更新を促進します。 InteractionTracker の非同期の性質上、これらのプロパティに直接クエリを実行することはお勧めしません。 代わりに、アプリケーション ロジックを駆動するためにコールバックで提供されるプロパティを使用し、アニメーション化可能なプロパティを更新するために ExpressionAnimation 内の値を参照する必要があります。

前述のように、InteractionTracker の最も一般的に使用される 2 つのプロパティは、 Position プロパティと Scale プロパティです。 これらは、ユーザー入力と Try* 呼び出しに応答して更新されるプロパティです。 ExpressionAnimations 内でこれらのプロパティを使用すると、CompositionObjects のアニメーション化可能なプロパティが応答で更新されます。 たとえば、InteractionTracker.position プロパティは、ビジュアルの Offset に関連付けられます。 また、これらのプロパティを使用して、進行状況を追跡する CompositionPropertySet を設定することも一般的です。これにより、一連の調整されたアニメーションを実行できます。

入力を InteractionTracker に転送する

InteractionTracker を構成した後も、タッチ入力を実際に受信して応答するには、最後の 1 つの手順が必要です。 VisualInteractionSource に関するドキュメントを参照してください。InteractionTracker にフローするように受信入力を構成する方法の詳細については、TryRedirectForManipulation を参照してください。

バージョン履歴

Windows のバージョン SDK バージョン 追加された値
1703 15063 ConfigureCenterPointXInertiaModifiers
1703 15063 ConfigureCenterPointYInertiaModifiers
1709 16299 ConfigureVector2PositionInertiaModifiers
1809 17763 IsInertiaFromImpulse
1809 17763 TryUpdatePosition(Vector3,InteractionTrackerClampingOption)
1809 17763 TryUpdatePositionBy(Vector3,InteractionTrackerClampingOption)
1903 18362 GetBindingMode
1903 18362 SetBindingMode
2004 19041 TryUpdatePosition(Vector3,InteractionTrackerClampingOption,InteractionTrackerPositionUpdateOption)

プロパティ

Comment

CompositionObject に関連付ける文字列。

(継承元 CompositionObject)
Compositor

この CompositionObject の作成に使用するコンポジター

(継承元 CompositionObject)
Dispatcher

CompositionObject のディスパッチャー。

(継承元 CompositionObject)
DispatcherQueue

CompostionObject の DispatcherQueue を取得します。

(継承元 CompositionObject)
ImplicitAnimations

このオブジェクトにアタッチされている暗黙的なアニメーションのコレクション。

(継承元 CompositionObject)
InteractionSources

相互作用を生成する オブジェクトのコレクション。

IsInertiaFromImpulse

慣性がインパルスの結果であるかどうかを示す値を取得します。

IsPositionRoundingSuggested

位置の丸め処理が現在推奨されているかどうかを示すブール値。

MaxPosition

InteractionTracker に許可される最大位置。

MaxScale

InteractionTracker の最大スケール。

MinPosition

InteractionTracker に許可される最小位置。

MinScale

InteractionTracker の最小スケール。

NaturalRestingPosition

InteractionTracker の自然な静止位置。

NaturalRestingPosition プロパティは、境界や慣性修飾子を計算せずに InteractionTracker が停止する計算位置です。 このプロパティは、多くの場合、スクロール エクスペリエンスでの仮想化などのアクションに役立ちます。 ここで、InteractionTracker が停止する場所を知ることが重要です。 NaturalRestingPosition プロパティを使用するには、次の 2 つのメインユース ケースがあります。InertiaStateEntered イベント引数で現在の値を取得するか、慣性修飾子などを作成するときに ExpressionAnimation でこのプロパティを参照します。

NaturalRestingScale

InteractionTracker の自然な静止スケール。

NaturalRestingScale プロパティは、境界や慣性修飾子を計算せずに InteractionTracker が停止する計算スケール位置です。 このプロパティは、多くの場合、スクロール エクスペリエンスでの仮想化などのアクションに役立ちます。 ここで、InteractionTracker が停止する場所を知ることが重要です。 NaturalRestingScale プロパティを使用するには、次の 2 つのメインユース ケースがあります。InertiaStateEntered イベント引数で現在の値を取得するか、慣性修飾子などを作成するときに ExpressionAnimation でこのプロパティを参照します。

Owner

InteractionTracker に関連付けられている IInteractionTrackerOwner

Position

InteractionTracker によって計算される出力位置。 現在位置は相対値です。 Idle および CustomAnimation の状態では、MinPosition プロパティと MaxPosition プロパティで指定された値の間に常に設定されます。 InteractionTracker の position プロパティは、境界でバウンスまたは抵抗を表示するために、対話状態と慣性状態の間にこの範囲外になる可能性があります。

InteractionTracker の position プロパティは、X、Y、Z 軸の位置を表す Vector3 です。 X チャネルと Y チャネルは、この時点で InteractionTracker によって更新される唯一のコンポーネントです。 MinPosition と MaxPosition が設定されていない場合、この Vector3 のチャネルは 0 (既定値) 以外では変動しません。

PositionInertiaDecayRate

位置の慣性減衰率。 範囲は 0 ~ 1 です。

PositionInertiaDecayRate プロパティは、慣性に入って位置が変化したときに InteractionTracker が停止に遅くなる速度を定義します。 1 に近いほど、 InteractionTracker の速度が速いほど停止まで遅くなり、逆も同様になります。 Vector3 として定義される各コンポーネントは、それに応じて x、y、z の慣性減衰率を表します。

PositionVelocityInPixelsPerSecond

現在位置に適用されている速度。

PositionVelocityInPixelsPerSecond プロパティは、慣性時の InteractionTracker の現在の位置速度を表します。 このプロパティには、2 つのメインユース ケースがあります。相互作用が発生した直後に InteractionTracker の位置速度を取得するか、ExpressionAnimationInteractionTracker の最新速度を参照します。

Properties

CompositionObject に関連付けられているプロパティのコレクション。

(継承元 CompositionObject)
Scale

InteractionTracker によって計算される出力スケール。 現在のスケールは、 MinScale プロパティと MaxScale プロパティで指定された値に依存する相対値です。

InteractionTracker の scale プロパティは、InteractionTracker の座標空間内のスケールを表す float です。 この値は 1 から始まり、プロパティを更新またはアニメーション化するためのアクティブな入力または直接呼び出しに基づいて増減します。 InteractionTracker が Idle または CustomAnimation 状態の場合、scale プロパティは、MinScale プロパティと MaxScale プロパティ (どちらも既定値は 1) が更新されない限り、1 から変更されません。 InteractionTracker のスケールは、境界でバウンスまたは抵抗を示すために、対話状態と慣性状態の間に、この範囲外に少し外れる可能性があります。

ScaleInertiaDecayRate

スケールの慣性減衰率。 範囲は 0 ~ 1 です。

ScaleInertiaDecayRate プロパティは、慣性に入り、スケールが変化したときに InteractionTracker が停止に時間がかかる速度を定義します。 1 に近いほど、 InteractionTracker の速度が速いほど停止まで遅くなり、逆も同様になります。 Vector3 として定義されている PositionInertiaDecayRate とは異なり、ScaleInertiaDecayRate は 1 つの float として定義されます。

ScaleVelocityInPercentPerSecond

スケールの変更率。

ScaleVelocityInPercentPerSecond プロパティは、慣性時の InteractionTracker の現在のスケール速度を表します。 Interaction が発生した直後に InteractionTracker の位置速度を取得するか、ExpressionAnimationInteractionTracker の最新速度を参照します。

メソッド

AdjustPositionXIfGreaterThanThreshold(Single, Single)

指定したしきい値より大きい場合は、位置 x 座標を調整します。

AdjustPositionYIfGreaterThanThreshold(Single, Single)

指定したしきい値より大きい位置 y 座標を調整します。

Close()

CompositionObject を閉じ、システム リソースを解放します。

(継承元 CompositionObject)
ConfigureCenterPointXInertiaModifiers(IIterable<CompositionConditionalValue>)

CompositionConditionalValue の順序付きリストを取得します。 フレームでは、トラッカーが慣性にある間に、最初の CompositionConditionalValue が を持っています。条件" は true に評価され、トラッカーが使用するズーム CenterPointX 値を その " に置き換えます。値"。 true と評価されない場合、CenterPointX はそのフレームに置き換えされません。

ConfigureCenterPointYInertiaModifiers(IIterable<CompositionConditionalValue>)

CompositionConditionalValue の順序付きリストを取得します。 フレームでは、トラッカーが慣性にある間に、最初の CompositionConditionalValue が を持っています。条件" は true に評価され、トラッカーが使用するズーム CenterPointY 値を その " に置き換えます。値"。 true と評価されない場合、CenterPointY はそのフレームに置き換えされません。

ConfigurePositionXInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

InteractionTrackerInertiaModifier オブジェクトのコレクションを InteractionTracker の x 慣性に適用します。

ConfigurePositionXInertiaModifiers メソッドは、InteractionTracker の x コンポーネントに InteractionTrackerInertiaModifierの個々またはコレクションを適用します。 システムは、各 X 修飾子の condition プロパティを InteractionTracker に追加された順序で評価します。 したがって、 InteractionTrackerInertiaModifier がコレクション内で持つ順序は、システムが評価する順序と同じになります。

ConfigurePositionYInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

InteractionTrackerInertiaModifier オブジェクトのコレクションを InteractionTracker の y 慣性に適用します。

ConfigurePositionYInertiaModifiers メソッドは、InteractionTracker の y コンポーネントに InteractionTrackerInertiaModifierの個々またはコレクションを適用します。 システムは、各 Y 修飾子の condition プロパティを InteractionTracker に追加された順序で評価します。 したがって、 InteractionTrackerInertiaModifier がコレクション内で持つ順序は、システムが評価する順序と同じになります。

ConfigureScaleInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

InteractionTrackerInertiaModifier オブジェクトのコレクションを InteractionTracker のスケールに適用します。

ConfigureScaleInertiaModifiers メソッドは、InteractionTracker のスケール コンポーネントに InteractionTrackerInertiaModifierの個々またはコレクションを適用します。 システムは、Scale 修飾子の条件プロパティをそれぞれ InteractionTracker に追加された順序で評価します。 したがって、 InteractionTrackerInertiaModifier がコレクション内で持つ順序は、システムが評価する順序と同じになります。

ConfigureVector2PositionInertiaModifiers(IIterable<InteractionTrackerVector2InertiaModifier>)

InteractionTrackerInertiaModifier オブジェクトのコレクションを InteractionTracker の位置に適用します。

ConnectAnimation(String, CompositionAnimation)

接続とアニメーション。

(継承元 CompositionObject)
Create(Compositor)

InteractionTracker のインスタンスを作成します。

この Create メソッドは、 InteractionTracker をインスタンス化します。 InteractionTracker でプロパティの設定、VisualInteractionSource のアタッチ、ExpressionAnimation での位置またはスケールの参照を作成した後、アクティブな入力によって ExpressionAnimation を駆動できます。

CreateWithOwner(Compositor, IInteractionTrackerOwner)

指定した所有者を持つ InteractionTracker のインスタンスを作成します。

この Create メソッドは、コールバックに登録するための所有者と InteractionTracker をインスタンス化します。 InteractionTracker でプロパティの設定、VisualInteractionSource のアタッチ、ExpressionAnimation での位置またはスケールの参照を作成した後、アクティブな入力によって ExpressionAnimation を駆動できます。 所有者との InteractionTracker の作成は、アプリケーションが InteractionTracker の状態と値に関するコールバックを受け取る必要がある場合にのみ必要です。

DisconnectAnimation(String)

アニメーションを切断します。

(継承元 CompositionObject)
Dispose()

アンマネージ リソースの解放またはリセットに関連付けられているアプリケーション定義のタスクを実行します。

(継承元 CompositionObject)
GetBindingMode(InteractionTracker, InteractionTracker)

2 つの相互作用トラッカー間のバインド軸モードを取得します。

PopulatePropertyInfo(String, AnimationPropertyInfo)

アニメーション化できるプロパティを定義します。

(継承元 CompositionObject)
SetBindingMode(InteractionTracker, InteractionTracker, InteractionBindingAxisModes)

2 つの相互作用トラッカー間のバインド軸モードを設定します。

StartAnimation(String, CompositionAnimation)

アニメーションをオブジェクトの指定したプロパティに接続し、アニメーションを開始します。

(継承元 CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

アニメーションをオブジェクトの指定したプロパティに接続し、アニメーションを開始します。

(継承元 CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

アニメーション グループを開始します。

CompositionObject の StartAnimationGroup メソッドを使用すると、CompositionAnimationGroup を開始できます。 グループ内のすべてのアニメーションは、オブジェクトで同時に開始されます。

(継承元 CompositionObject)
StopAnimation(String)

指定したプロパティからアニメーションを切断し、アニメーションを停止します。

(継承元 CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

アニメーション グループを停止します。

(継承元 CompositionObject)
TryGetAnimationController(String)

指定したプロパティで実行されているアニメーションの AnimationController を返します。

(継承元 CompositionObject)
TryUpdatePosition(Vector3)

InteractionTracker の位置の更新を試みます。

TryUpdatePosition メソッドは 、InteractionTracker の位置をパラメーターとして指定された Vector3 位置に更新します。 TryUpdatePosition は、任意の時点 (開始時、状態が入力されたイベントなど) での InteractionTracker の位置を宣言的に定義するために使用されます。 TryUpdatePosition は、Idle、CustomAnimation、または Inertia のいずれかの状態から呼び出すことができます。これにより、 InteractionTracker の位置が定義された位置に移動し、アイドル状態になります。

TryUpdatePosition(Vector3, InteractionTrackerClampingOption)

指定したクランプ オプションを使用して 、InteractionTracker の位置の更新を試みます。

TryUpdatePosition(Vector3, InteractionTrackerClampingOption, InteractionTrackerPositionUpdateOption)

指定したクランプ オプションを使用して 、InteractionTracker の位置の更新を試みます。

TryUpdatePositionBy(Vector3)

InteractionTracker の位置を指定した量だけ調整しようとします。

TryUpdatePositionBy メソッドは、パラメーターとして指定された Vector3 デルタによって InteractionTracker の現在の位置を更新します。 TryUpdatePosition と同様に、TryUpdatePositionBy は、アニメーションや慣性を必要とせずに、定義されたデルタによって InteractionTracker を宣言的に移動するために使用されます。 TryUpdatePositionBy は、Idle、CustomAnimation、または Inertia のいずれかの状態から呼び出すことができます。これにより、 InteractionTracker の位置が定義済みのデルタによって移動され、アイドル状態になります。

TryUpdatePositionBy(Vector3, InteractionTrackerClampingOption)

指定したクランプ オプションを使用して、 InteractionTracker の位置を指定した量だけ調整しようとします。

TryUpdatePositionWithAdditionalVelocity(Vector3)

速度を追加して InteractionTracker の位置を更新しようとします。

TryUpdatePositionWithAdditionalVelocity メソッドは、 InteractionTracker の現在の速度に追加の速度を表す入力 Vector3 を追加します。 その結果、 InteractionTracker のベロシティが変更されたため、 InteractionTracker の対象の rest 位置が変更されるようになりました。 TryUpdatePositionWithAdditionalVelocity は、Idle、Inertia、CustomAnimation のいずれかの状態から呼び出すことができます。これにより、 InteractionTracker の速度が追加または更新され、慣性状態になります。

TryUpdatePositionWithAnimation(CompositionAnimation)

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

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

TryUpdateScale(Single, Vector3)

指定した値にスケールの更新を試みます。

TryUpdateScale メソッドは、 InteractionTracker のスケール位置を、パラメーターとして指定されたスケール位置と中心点に更新します。 TryUpdateScale は、任意の時点 (開始時、一部の状態入力イベントなど) で InteractionTracker のスケールを宣言的に定義するために使用されます。 TryUpdateScale は、Idle、CustomAnimation、または Inertia のいずれかの状態から呼び出すことができます。これにより、 InteractionTracker のスケール位置が定義された位置に移動し、アイドル状態になります。

TryUpdateScaleWithAdditionalVelocity(Single, Vector3)

指定したベロシティを追加してスケールの更新を試みます。

TryUpdateScaleWithAdditionalVelocity メソッドは、 InteractionTracker の現在の速度に追加の速度を表す入力されたスカラーを追加し、中心点を入力された Vector3 にシフトします。 その結果、 InteractionTracker の速度が変更されたため、 InteractionTracker の対象となる rest スケールの位置が変更されるようになりました。 TryUpdateScaleWithAdditionalVelocity は、アイドル状態、慣性状態、または CustomAnimation 状態から呼び出すことができます。これにより、InteractionTracker の速度が追加または更新され、慣性状態になります。

TryUpdateScaleWithAnimation(CompositionAnimation, Vector3)

指定したアニメーションを使用してスケールの更新を試みます。

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

適用対象

こちらもご覧ください