Unity之虚拟轴
程序员文章站
2022-03-25 20:25:25
...
虚拟轴
概念:
首先,啥子叫虚拟轴呢?
用我们通俗的话来说就是我们自己想象的一条范围是 -1~1之间的数轴。
为啥子要用到虚拟轴呢?
就是为了方便获取键盘的输入,其实就是一种简便方法。比如我们想使用A、D键和左、右键来控制游戏物体的左右移动时,按照我们的之前的思路是用一个if条件来判断四个键是否按下,
而有了虚拟轴之后,我们只需要获取水平方向的输入就可以。
文字有点枯燥,我们画个图来讲解一下。
按下A或左键时就会返回一个 -1,按下D或右键时就返回 1 ,没有按时就返回 0。
设置虚拟轴
Edit => project setting => input,点击input之后会在unity右 上角显示你要设置的新的输入轴所有的按键设置InputManager。
如果要添加一个自己定义的虚拟轴,将size的加一。
首先看Horizontal(水平轴),
Sensitivity是灵敏度,不是平滑度
可以通过改变Sensitivity的值来控制值的变化速度
如何通过代码调用呢?
public class Axis : MonoBehaviour {
void Start () {
}
void Update () {
//Horizontal是控制水平方向的值,也就是x轴的值
//GetAxisRaw方法获取虚拟轴,当某键按下时会直接返回1或-1,没有变化过程
float x1 = Input.GetAxisRaw("Horizontal");
//GetAxis方法获取虚拟轴会有一个变化过程
float x2 = Input.GetAxis("Horizontal");
//Vertical是控制垂直方向的值,也就是z轴的值
float y = Input.GetAxis("Vertical");
//利用Translate方法来控制gameobject移动
transform.Translate(new Vector3(x1,0,y)*Time.deltaTime);
}
}
其他虚拟轴也是这样使用,这里就不一一讲解了,等待你们自己去挖掘。。。。。
上一篇: 搜索与图论 - DFS
下一篇: Unity--虚拟轴