版本: Unity 6 (6000.0)
语言英语
  • C#

Input.GetAxis

建议修改

成功!

感谢您帮助我们提升 Unity 文档的质量。尽管我们无法采纳所有提交的建议,但我们确实会阅读用户提出的每一项修改建议,并在适用的情况下进行更新。

关闭

提交失败

由于某种原因,您的修改建议无法提交。请 <a>稍后再试</a>。感谢您抽出时间帮助我们提升 Unity 文档的质量。

关闭

取消

声明

public static float GetAxis(string axisName);

描述

返回由 axisName标识的虚拟轴的值。

注意:此 API 是传统 Input 类的一部分,不推荐在新的项目中使用。此处的文档是为了支持使用旧的 Input Manager 和 Input 类的传统项目。对于新的项目,您应该使用更新的 Input System Package。 (了解更多).

对于键盘和操纵杆输入设备,该值将在 -1...1 范围内。

此值的含义取决于输入控件的类型,例如,对于操纵杆的水平轴,值为 1 表示操纵杆被推到最右边,值为 -1 表示它被推到最左边;值为 0 表示操纵杆处于其中立位置。

如果轴映射到鼠标,则该值将不同,并且不会在 -1...1 的范围内。相反,它将是当前鼠标增量乘以轴灵敏度。通常,正值表示鼠标向右/向下移动,负值表示鼠标向左/向上移动。

这是与帧率无关的;在使用此值时,您无需担心帧率的变化。

要设置您的输入或查看 axisName 的选项,请转到 **编辑** > **项目设置** > **输入管理器**。这将打开输入管理器。展开 **轴** 以查看您当前输入的列表。您可以使用其中一个作为 axisName。要重命名输入或更改正按钮等,请展开其中一个选项,并在 **名称** 字段或 **正按钮** 字段中更改名称。此外,将 **类型** 更改为 **操纵杆轴**。要添加新输入,请将 **大小** 字段中的数字加 1。

using UnityEngine;
using System.Collections;

// A very simplistic car driving on the x-z plane.

public class ExampleClass : MonoBehaviour { public float speed = 10.0f; public float rotationSpeed = 100.0f;

void Update() { // Get the horizontal and vertical axis. // By default they are mapped to the arrow keys. // The value is in the range -1 to 1 float translation = Input.GetAxis("Vertical") * speed; float rotation = Input.GetAxis("Horizontal") * rotationSpeed;

// Make it move 10 meters per second instead of 10 meters per frame... translation *= Time.deltaTime; rotation *= Time.deltaTime;

// Move translation along the object's z-axis transform.Translate(0, 0, translation);

// Rotate around our y-axis transform.Rotate(0, rotation, 0); } }
using UnityEngine;
using System.Collections;

// Performs a mouse look.

public class ExampleClass : MonoBehaviour { float horizontalSpeed = 2.0f; float verticalSpeed = 2.0f;

void Update() { // Get the mouse delta. This is not in the range -1...1 float h = horizontalSpeed * Input.GetAxis("Mouse X"); float v = verticalSpeed * Input.GetAxis("Mouse Y");

transform.Rotate(v, h, 0); } }

注意: 水平和垂直范围随着 0.05f 步长的增加/减少而从 0 变为 +1 或 -1。 GetAxisRaw 的变化从 0 立即变为 1 或 -1,因此没有步骤。