InteractionTracker.TryUpdatePositionBy 方法

定义

重载

TryUpdatePositionBy(Vector3)

尝试按指定量调整 InteractionTracker 的位置。

TryUpdatePositionBy 方法通过指定为参数的 Vector3 增量更新 InteractionTracker 的当前位置。 与 TryUpdatePosition 类似,TryUpdatePositionBy 用于按定义的增量以声明方式移动 InteractionTracker ,而无需动画或惯性。 可以从 Idle、CustomAnimation 或惯性状态调用 TryUpdatePositionBy - 这样做将按定义的增量移动 InteractionTracker 的位置并进入空闲状态。

TryUpdatePositionBy(Vector3, InteractionTrackerClampingOption)

尝试使用指定的固定选项按指定量调整 InteractionTracker 的位置。

TryUpdatePositionBy(Vector3)

尝试按指定量调整 InteractionTracker 的位置。

TryUpdatePositionBy 方法通过指定为参数的 Vector3 增量更新 InteractionTracker 的当前位置。 与 TryUpdatePosition 类似,TryUpdatePositionBy 用于按定义的增量以声明方式移动 InteractionTracker ,而无需动画或惯性。 可以从 Idle、CustomAnimation 或惯性状态调用 TryUpdatePositionBy - 这样做将按定义的增量移动 InteractionTracker 的位置并进入空闲状态。

public:
 virtual int TryUpdatePositionBy(float3 amount) = TryUpdatePositionBy;
int TryUpdatePositionBy(float3 const& amount);
public int TryUpdatePositionBy(Vector3 amount);
function tryUpdatePositionBy(amount)
Public Function TryUpdatePositionBy (amount As Vector3) As Integer

参数

amount
Vector3 Vector3

float3

要添加到当前位置的值。

返回

Int32

int

返回请求 ID。 在状态转换时,导致状态更改的请求将包含在参数中。 这些 ID 将从 1 开始,并在应用程序的生存期内随着每次尝试调用而增加。

示例

public void InertiaStateEntered(InteractionTracker sender, 	InteractionTrackerInertiaStateEnteredArgs args)
{
  // For sample purpose, will overwrite Inertia motion definitions by moving InteractionTracker to a specified position based on a delta
  _tracker.TryUpdatePositionBy(new Vector3(50f));}
}

注解

如果 InteractionTracker 处于交互状态, (用户正在主动操作) ,并且调用 TryUpdatePositionBy,系统将忽略此请求 - 当发生这种情况时会触发一个可以侦听的事件。 如果从其他状态之一发送,请侦听为 IdleStateEntered 触发的事件,并检查确定触发回调的请求的 RequestId 属性。 下表汇总了在特定状态下调用此方法时的预期行为:

当前状态业务成效
闲置属性更新到请求的值,没有状态更改
正在交互请求已忽略
惯性属性更新到请求的值,状态更改为空闲
CustomAnimation属性更新到请求的值,状态更改为空闲

适用于

TryUpdatePositionBy(Vector3, InteractionTrackerClampingOption)

尝试使用指定的固定选项按指定量调整 InteractionTracker 的位置。

public:
 virtual int TryUpdatePositionBy(float3 amount, InteractionTrackerClampingOption option) = TryUpdatePositionBy;
/// [Windows.Foundation.Metadata.Overload("TryUpdatePositionByWithOption")]
int TryUpdatePositionBy(float3 const& amount, InteractionTrackerClampingOption const& option);
[Windows.Foundation.Metadata.Overload("TryUpdatePositionByWithOption")]
public int TryUpdatePositionBy(Vector3 amount, InteractionTrackerClampingOption option);
function tryUpdatePositionBy(amount, option)
Public Function TryUpdatePositionBy (amount As Vector3, option As InteractionTrackerClampingOption) As Integer

参数

amount
Vector3 Vector3

float3

要添加到当前位置的值。

option
InteractionTrackerClampingOption

一个 值,该值指定如何将值固定到最大值和最小值。

返回

Int32

int

返回请求 ID。 在状态转换时,导致状态更改的请求将包含在参数中。 这些 ID 将从 1 开始,并在应用程序的生存期内随着每次尝试调用而增加。

属性

Windows 要求

设备系列
Windows 10, version 1809 (在 10.0.17763.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v7.0 中引入)

适用于