信誉好的丹徒网站建设,电影资源分享网站怎么做的,下载app免费下载软件,建网站免费域名使用Unity的Input.GetAxis()控制物体移动、旋转
Input.GetAxis() 是 Unity 引擎中的一个方法#xff0c;用于获取游戏玩家在键盘或游戏手柄上输入的某个轴#xff08;Axis#xff09;的值。这里的 是一个字符串参数#xff0c;表示要… 使用Unity的Input.GetAxis()控制物体移动、旋转
Input.GetAxis() 是 Unity 引擎中的一个方法用于获取游戏玩家在键盘或游戏手柄上输入的某个轴Axis的值。这里的 是一个字符串参数表示要获取的轴的名称。
在 Unity 中有多种轴类型如 Horizontal水平轴、Vertical垂直轴、Mouse X鼠标水平滚轮轴和 Mouse Y鼠标垂直滚轮轴等。这些轴的值可以用来控制游戏角色的移动、缩放或旋转等动作。这些数值都处于-1 到1 之间你可以用代码
float INPUTaXIS Input.GetAxis(Horizontal);Debug.Log(INPUTaXIS);
来输出检测这个数值
01 Horizontal
以 Horizontal 为例Input.GetAxis(Horizontal) 方法会返回一个值表示玩家在水平方向上输入的值。如果玩家向左移动键盘或游戏手柄该值将为负如果玩家向右移动该值将为正。
该轴默认是由A、D以及方向键左右箭头来触发
02 Vertical 轴
类似地对于 Vertical 轴
该轴默认是由W、S以及方向键上下箭头来触发
03 Mouse X 轴和 Mouse Y 轴
返回的值分别表示玩家在垂直方向、鼠标水平滚轮和鼠标垂直滚轮上的输入。
在代码中我们可以将这些轴的值用于控制游戏角色的移动、旋转等动作。例如在您提供的代码中MoveHorizontal 和 MoveVertical 变量分别存储了水平轴和垂直轴的值用于控制角色在水平方向和垂直方向上的移动。
示例代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ConRole : MonoBehaviour
{// yong鼠标控制方向用方向键控制移动// 设置角色的移动速度和旋转速度public float Movespeed 15f;public float Rotatespeed 10f;// Update is called once per framevoid Update(){// 获取水平方向和垂直方向的输入值float MoveHorizontal Input.GetAxis(Horizontal);float MoveVertical Input.GetAxis(Vertical);//全部存到向量里面Vector3 MoveDir new Vector3(MoveHorizontal,0, MoveVertical);//transform.position MoveDir * Movespeed * Time.deltaTime;//上面这句不能保持物体朝自己的Z正方移动因此用下面的语句transform.Translate(MoveDir * Movespeed * Time.deltaTime, Space.Self);// 获取鼠标的旋转输入值 Mouse X 是来源鼠标在水平方向的移动数值转换返回为-1 - 1 之间的数值float XRotaY Input.GetAxis(Mouse X);transform.Rotate(new Vector3(0,1* XRotaY * Rotatespeed,0),Space.Self);}
}