Unity之虚拟轴

虚拟轴

概念:
首先,啥子叫虚拟轴呢?
用我们通俗的话来说就是我们自己想象的一条范围是 -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);
    }
}

其他虚拟轴也是这样使用,这里就不一一讲解了,等待你们自己去挖掘。。。。。

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值