• Unity的Input介绍


    我几乎从来不用这个东西,但是这个东西老是在我面前,弄得我闹心,今天就来好好解决它。

    1.从Edit-ProjectSetting->Input打开设置界面

       

    2.打开这个界面,我们发现,居然有两个Horizontal,我们就顺着这个问题,对比一下两者的区别

    这是第一个

    这是第二个

    可以发现,有几个命名为xxxButton的按钮不一样,另外还有一个就是Type不一样

    根据unity的官方http://docs.unity3d.com/Manual/ConventionalGameInput.html

    这个type是用来表示输入的类型的,但是没有一一的解释,根据他的三个下拉选项,我们做个估计

    Key or Mouse Button Key 指按键或者是鼠标按键(就是鼠标的左右键),这个key应该怎么理解,抱着较真的态度,

                                         我就估计一下,就是KeyCode这个枚举里的所有类型

                                         也就是说,除了键盘之外,还可以包含鼠标。除此之外,很多人会有一个疑惑,

                                         就是left right 这个东西怎么写

                                         unity好像没有给出个具体的清单

                                         所以我也是估计的,你就照着KeyCode里面写法去写,然后改成小写,再加上空格,估计就行。

    Mouse Movement  鼠标的移动

    Joystick Axis   摇杆

    这样,我们基本能理解这个type的含义了,就是指你的输入来源,是按键,鼠标or摇杆?

    与输入来源Type相对应,就是每一种Type之下,你的具体按键

    比如图一,Type为Key or Mouse Button,这是按键,那么你就需要制定具体是哪个按键,上图就是指定 左右箭头为第一选项,a和d为第二选项。

    而图二,由于Type为Joystick Axis 摇杆,所以就不需要指定了。

    获取轴的位移调用的api,通常是 float vert= Input.GetAxis( "Vertical" );  //吐槽一下,硬编码么

    vert的范围为(-1,1),通常为负表示下,为正表示上

    3.按钮类型的输入

    按钮类型的输入,只要写Positive Button就可以了

    bool Fire1= Input.GetButton( "Fire1" );

    返回true表示按下,false表示没有按下

    参考文章 http://blog.163.com/kingmax_res/blog/static/77282442201031712215956/

                 http://www.cnblogs.com/neverdie/p/Unity3D_GameObject_Component.html

                 http://www.58player.com/blog-2540-113451.html

  • 相关阅读:
    面对一个全新的环境,作为一个Mysql DBA,首先应该了解什么?
    Puppet学习之puppet的安装和配置
    Puppet学习之文件管理
    AJAx在windows 2003 系统下没有响应
    如何学习jquery
    系统底层图书推荐
    Jquery+Aspx实现Ajax得不到响应
    如何深入学习asp.net
    asp.net精华文章推荐
    爱恨交加的asp.net服务器控件
  • 原文地址:https://www.cnblogs.com/zhousilai/p/4300453.html
Copyright © 2020-2023  润新知