Table of Contents

输入

初级 程序员

用户使用输入设备(Input Device)(如手柄、鼠标和键盘)与游戏和应用程序交互。每个交互式应用程序都必须至少支持一种输入设备。

输入设备

Stride 完全通过脚本处理输入。有底层和高层 API 用于处理不同类型的输入:

处理输入

使用 InputManager 类处理输入。你可以在脚本中通过其属性和方法访问此类。

要检查特定的输入设备是否可用,请使用相应的 @'Stride.Input.InputManager' 属性。例如,要检查是否连接了鼠标,请使用 Input.HasMouse。

检查设备可用性之后,Stride 中有四种处理输入的方式。

查询状态

你可以查询数字按键和按钮的状态(即_按下_或_抬起_),以及模拟按钮和传感器的数值。例如,@'Stride.Input.InputManager.DownKeys' 可获取上次更新中处于_按下_状态的按键列表。

查询按键和按钮状态

模拟摇杆位置

有时用户在两次更新之间执行了多个操作。如果两次更新之间没有状态变化(最终结果相同),Stride 不会记录任何操作:

两次更新之间的多个操作

查询状态变化

你可以查询自上次更新以来按钮和按键的状态变化。 这种情况下,你不会获得所有按钮和按键的列表,而必须分别查询每个按钮和按键。

  • 对于数字按钮和按键,查询该按钮或按键在上次更新中是否为 Pressed、Down 或 Released。

    查询按键状态变化

  • 对于鼠标位置和鼠标滚轮滚动,查询自上次更新以来的 Delta Values(增量值):

    鼠标滚轮增量

有时用户在两次更新之间执行了多个操作。如果两次更新之间没有状态变化(最终结果相同),Stride 不会记录任何操作。

查询事件列表

对于指针、手势和键盘,你可以查询上次更新中发生的所有事件。

两次更新之间的多个操作

Note

即使用户在两次更新之间执行了多个操作,Stride 也会记录所有这些事件。

使用虚拟按钮

你可以使用**虚拟按钮(Virtual Button)**将输入与动作(而非物理按键)关联起来,然后让用户自定义按键。更多信息请参见虚拟按钮。

本节内容