InteractionTracker.TryUpdatePositionBy 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
TryUpdatePositionBy(Vector3) |
尝试按指定量调整 InteractionTracker 的位置。 TryUpdatePositionBy 方法通过指定为参数的 Vector3 增量更新 InteractionTracker 的当前位置。 与 TryUpdatePosition 类似,TryUpdatePositionBy 用于按定义的增量以声明方式移动 InteractionTracker ,而无需动画或惯性。 可以从 Idle、CustomAnimation 或 Inertia 状态调用 TryUpdatePositionBy - 这样做将按定义的增量移动 InteractionTracker 的位置并进入空闲状态。 |
TryUpdatePositionBy(Vector3, InteractionTrackerClampingOption) |
尝试使用指定的固定选项按指定量调整 InteractionTracker 的位置。 |
TryUpdatePositionBy(Vector3)
尝试按指定量调整 InteractionTracker 的位置。
TryUpdatePositionBy 方法通过指定为参数的 Vector3 增量更新 InteractionTracker 的当前位置。 与 TryUpdatePosition 类似,TryUpdatePositionBy 用于按定义的增量以声明方式移动 InteractionTracker ,而无需动画或惯性。 可以从 Idle、CustomAnimation 或 Inertia 状态调用 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
参数
返回
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
参数
一个 值,该值指定如何将值固定到最大值和最小值。
返回
int
返回请求 ID。 在状态转换时,导致状态更改的请求将包含在参数中。 这些 ID 将从 1 开始,并在应用程序的生存期内随着每次尝试调用而增加。
- 属性