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