以下是一些常用的Unity输入方法的总结。
1. Input.GetKeyDown(KeyCode key)
返回值:bool。如果用户在上一帧没有按下指定的键,但在当前帧按下了,则返回true;否则返回false。
例子:
if (Input.GetKeyDown(KeyCode.Space))
{
Debug.Log("空格键被按下!");
}
2. Input.GetKey(KeyCode key)
返回值:bool。如果用户在当前帧按下了指定的键,则返回true;否则返回false。
例子:
if (Input.GetKey(KeyCode.W))
{
// 向前移动
}
3. Input.GetKeyUp(KeyCode key)
返回值:bool。如果用户在上一帧按下了指定的键,但在当前帧释放了,则返回true;否则返回false。
例子:
if (Input.GetKeyUp(KeyCode.Escape))
{
// 退出游戏
}
4. Input.GetAxis("Horizontal") 和 Input.GetAxis("Vertical")
返回值:float。对于“Horizontal”轴,正值表示向右,负值表示向左;对于“Vertical”轴,正值表示向上,负值表示向下。如果没有输入,则返回0。滚轮上滑为正,下滑为负;且滚轮的每个小格卡顿,其数值信息表示为0.1,快速连续滚动时其数值会直接出现对应的数值,不会一格一格出现。
可以使用Input.GetAxis("Mouse X")获取鼠标在水平方向上的移动量,使用Input.GetAxis("Mouse Y")获取鼠标在垂直方向上的移动量。
例子:
float moveX = Input.GetAxis("Horizontal") * Time.deltaTime;
float moveY = Input.GetAxis("Vertical") * Time.deltaTime;
float scroll = Input.GetAxis("Mouse ScrollWheel"); //滚轮
float mouseX = Input.GetAxis("Mouse X");
float mouseY = Input.GetAxis("Mouse Y");
5. Input.GetMouseButton(int button)
返回值:bool。如果当前帧用户按下了指定的鼠标按钮(0代表左键,1代表右键,2代表中键),则返回true;否则返回false。
例子:
if (Input.GetMouseButton(0))
{
// 鼠标左键被按下
}
6. Input.GetMouseButtonDown(int button)
返回值:bool。如果用户在上一帧没有按下指定的鼠标按钮,但在当前帧按下了,则返回true;否则返回false。
例子:
if (Input.GetMouseButtonDown(0))
{
// 鼠标左键被按下
}
7. Input.GetMouseButtonUp(int button)
返回值:bool。如果用户在上一帧按下了指定的鼠标按钮,但在当前帧释放了,则返回true;否则返回false。
例子:
if (Input.GetMouseButtonUp(0))
{
// 鼠标左键被释放
}
8. Input.mousePosition
返回值:Vector3。表示鼠标在屏幕上的位置(以像素为单位),左下角为(0,0),右上角为(Screen.width, Screen.height)。
例子:
Vector3 mousePos = Input.mousePosition;
// 可以将鼠标位置转换为世界空间中的位置
RaycastHit hit;
if (Physics.Raycast(Camera.main.ScreenPointToRay(mousePos), out hit))
{
// 射线击中了物体
}
标签:返回,常用,鼠标,GetAxis,Unity,返回值,Input,KeyCode,输入
From: https://www.cnblogs.com/zlllIII/p/18411294