次の方法で共有


InteractionTracker.TryUpdateScale(Single, Vector3) メソッド

定義

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

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

public:
 virtual int TryUpdateScale(float value, float3 centerPoint) = TryUpdateScale;
int TryUpdateScale(float const& value, float3 const& centerPoint);
public int TryUpdateScale(float value, Vector3 centerPoint);
function tryUpdateScale(value, centerPoint)
Public Function TryUpdateScale (value As Single, centerPoint As Vector3) As Integer

パラメーター

value
Single

float

スケールの新しい値。

centerPoint
Vector3 Vector3

float3

新しい中心点。

戻り値

Int32

int

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

void SetupInteractionTracker()
{
  // Setup InteractionTracker
  _tracker = InteractionTracker.Create(_compositor);
  _interactionSource.PositionXSourceMode = InteractionSourceMode.EnabledWithInertia;
  _interactionSource.PositionYSourceMode = InteractionSourceMode.EnabledWithInertia;

  _tracker.InteractionSources.Add(_interactionSource);
  _tracker.PositionInertiaDecayRate = new Vector3(0.95f);

  // Update the scale position of InteractionTracker
  _tracker.TryUpdateScale(0.5f, new Vector3(50f));
}

注釈

InteractionTracker が Interacting State (ユーザーがアクティブに操作) していて、TryUpdateScale が呼び出されると、システムはこの要求を無視します。この要求が発生すると、リッスンできるイベントが発生します。 他のいずれかの状態から送信された場合は、IdleStateEntered に対して発生したイベントをリッスンし、コールバックをトリガーした要求を識別する RequestID プロパティをチェックします。

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

現在の状態結果
アイドル要求された値に対するプロパティの更新、状態の変更なし
操作中要求が無視される
慣性要求された値に対するプロパティの更新、アイドル状態への状態の変更
CustomAnimation要求された値に対するプロパティの更新、アイドル状態への状態の変更

適用対象