次の方法で共有


InteractionTracker.TryUpdatePositionWithAdditionalVelocity(Vector3) メソッド

定義

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

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

public:
 virtual int TryUpdatePositionWithAdditionalVelocity(float3 velocityInPixelsPerSecond) = TryUpdatePositionWithAdditionalVelocity;
int TryUpdatePositionWithAdditionalVelocity(float3 const& velocityInPixelsPerSecond);
public int TryUpdatePositionWithAdditionalVelocity(Vector3 velocityInPixelsPerSecond);
function tryUpdatePositionWithAdditionalVelocity(velocityInPixelsPerSecond)
Public Function TryUpdatePositionWithAdditionalVelocity (velocityInPixelsPerSecond As Vector3) As Integer

パラメーター

velocityInPixelsPerSecond
Vector3 Vector3

float3

1 秒あたりのピクセル単位で加算する速度。

戻り値

Int32

int

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

// Listen for the InertiaStateEntered event
public void InertiaStateEntered(InteractionTracker sender, 	InteractionTrackerInertiaStateEnteredArgs args)
{
  // Adding velocity to InteractionTracker if condition met
  if (_extraVelocityNeeded)
  {
    // Only adding velocity in the Y direction
    _tracker.TryUpdatePositionWithAdditionalVelocity(new Vector3(0.0f, 50.0f,	0.0f));
  }
}

注釈

InteractionTracker が対話状態 (ユーザーがアクティブに操作している) にあり、TryUpdatePositionWithAdditionalVelocity が呼び出されると、システムはこの要求を無視します。この要求が発生すると、リッスンできるイベントが発生します。 他のいずれかの状態から送信された場合は、InertiaStateEntered に対して発生したイベントをリッスンし、コールバックをトリガーした要求を識別する RequestId プロパティをチェックします。 次の表は、このメソッドが特定の状態で呼び出されたときの予想される動作をまとめたものです。

現在の状態結果
アイドル慣性および慣性修飾子に対する状態の変化は、要求された速度を初期速度として評価します
操作中要求が無視される
慣性慣性が再起動され(状態が慣性に再入する)、慣性修飾子は現在の速度に加えられた要求された速度で評価されます
CustomAnimation要求された速度を初期速度として使用して評価された慣性修飾子を使用して、現在のアニメーションが停止し、慣性状態が変化する

適用対象