📜  unity input 获取轴 - C# (1)

📅  最后修改于: 2023-12-03 15:20:52.091000             🧑  作者: Mango

Unity Input 获取轴 - C#

Unity Input 获取轴(Axis)是用来得到用户输入的值的,比如方向键的左右、上下、手柄的摇杆等。在 Unity 中,可以使用一种称为 Input Manager 的工具轻松配置这些轴。在代码中,可以使用 Input.GetAxis() 方法获得轴的值。

如何使用
配置轴

在 Unity 中,可以通过编辑 Input Manager 来配置轴。打开 Edit -> Project Settings -> Input Manager,在 Inspector 窗口中,可以配置不同的轴。比如可以创建一个名为“Horizontal”的轴,这个轴的“Negative Button”为“left”键,而“Positive Button”为“right”键。这样就可通过左右键来控制这个轴的值。Unity 支持同时配置多个按钮来控制同一个轴,还支持设置灵敏度和重置等。

在代码中获取轴

在代码中通过调用 Input.GetAxis("轴名称") 方法来获取轴的值。比如获取“Horizontal”轴的值,可以使用代码:

float horizontalValue = Input.GetAxis("Horizontal");

它会返回一个 float 类型的值,如果用户按下了左键,则返回 -1,如果按下右键,则返回 1。如果未按下任何键,则返回 0。需要注意的是,该值会在 -1 ~ 1 之间闪烁,即使未输入任何值。当使用手柄等输入设备时,该值也会根据摇杆等动态改变。

获取按键的状态

除了获取轴的值外,还可以通过 Input.GetKey(KeyCode key) 或 Input.GetButton(string buttonName) 方法来获取按键的状态,返回的是一个 bool 类型的值。比如获取空格键状态:

bool spacePressed = Input.GetKey(KeyCode.Space); // 返回 true 表示空格键按下,false 表示未按下。
总结

Unity Input 提供了方便的、易于使用的方式来获取用户输入,通过配置 Input Manager,可以很容易地实现多种输入设备的支持。在代码中,使用 Input.GetAxis() 方法可以很方便地获取轴的值,而 Input.GetKey() 或 Input.GetButton() 可以用来获取按键的状态。