小白_Unity引擎_Input输入控制

  1 public class InputTest : MonoBehaviour {
  2 
  3 
  4     /// <summary>
  5     /// 1.获取不同的轴
  6     /// </summary>
  7     void InitData()
  8     {
  9         //1.获取键盘 水平、垂直的虚拟轴函数
 10          float kx =   Input.GetAxis("Vertical");
 11          float ky = Input.GetAxis("Horizontal");
 12 
 13 
 14         //2.获取 鼠标 水平,垂直的虚拟轴函数
 15          float mx = Input.GetAxis("Mouse X");
 16          float my = Input.GetAxis("Mouse Y");
 17 
 18         //3.获取鼠标滚轮的信息: 
 19          float sx = Input.GetAxis("Mouse ScrollWheel");
 20        
 21     }
 22 
 23 
 24     void Update () {
 25       //  ControlAxis();
 26 
 27         Test2();
 28     }
 29 
 30 
 31     private Vector3 tranV = Vector3.zero;
 32     private Vector3 scalV = Vector3.one; //缩放
 33     /// <summary>
 34     /// 2.通过获取周实现物体,移动缩放
 35     /// </summary>
 36     private void ControlAxis()
 37     {
 38 
 39         //1.获取键盘 水平、垂直的虚拟轴函数  wasd 或者前后左右箭头实现前后左右移动
 40         float kx = Input.GetAxis("Vertical");
 41         float ky = Input.GetAxis("Horizontal");
 42 
 43         this.transform.Translate(kx * Time.deltaTime * 10, 
 44                                     0,
 45                                     ky * Time.deltaTime * 10);
 46 
 47         //2.获取 鼠标 水平,垂直的虚拟轴函数
 48         float my = Input.GetAxis("Mouse X");
 49         float mx = Input.GetAxis("Mouse Y");
 50 
 51         tranV.x -= mx;
 52         tranV.y += my;
 53 
 54        // 鼠标控制旋转
 55         this.transform.eulerAngles = tranV;
 56 
 57 
 58         //3.实现滚轮缩放
 59         float sx = Input.GetAxis("Mouse ScrollWheel");
 60         scalV += Vector3.one*sx;
 61         this.transform.localScale = scalV;
 62 
 63     }
 64 
 65 
 66     /// <summary>
 67     /// 和GetKey() 和GetButton() 的不同
 68     /// </summary>
 69     void Diff()
 70     {
 71         //1. 与GetKey和GetButton不同的是,返回值类型不是是bool值,二十float类型的关于轴方向移动变化的数值(-1 --- 1之间)
 72           bool b1 =   Input.GetKey("");
 73           bool b2 =   Input.GetButton("");
 74 
 75          /// Input.GetButton("")使用
 76          /// 1. Edit -- Project Setting -- Input --- InputManager
 77          /// 2.设置Alt Positive Button 的名字
 78          /// 3.类型Type设置为 Key or Mouse Button
 79          
 80         ///数字,字母对应键盘的的输入
 81         ///鼠标 0 表示左键  1表示鼠标右键  2表示鼠标中键
 82         ///直接用GetKey 和GetMouse看起来更直观,不用设置
 83           if (Input.GetKey(KeyCode.A))
 84           {
 85             Debug.Log("按下A");
 86           }
 87           if (Input.GetMouseButton(0))
 88           {
 89               Debug.Log("按下鼠标左键");
 90           }
 91 
 92         ///GetKey() 和GetKeyDown() 区别:
 93         ///GetKey():如果按钮一直按下,会不停的调用,返回bool值
 94         ///GetKeyDown()和GetKeyUp() 一样在执行动作的时候调用一次
 95 
 96     }
 97 
 98     /// <summary>
 99     /// InputManager 的一些属性
100     /// </summary>
101     void Test()
102     {
103 
104         ///Fire1 Fire2 Fire3 被分别映射到Ctrl Option(Alt) 和Command键
105         ///Window Shake X 和Window Shake Y 被映射到窗口的移动
106         
107 
108         ///InputManager 的一些属性:
109         ///Sensitiyty:控制按键灵敏度,按下后背控制的对象将迅速做出反应,例如横向 AD控制,在抬起A键后,在按下D键这个过程,是迅速回到0,还是还缓慢回到0然后响应D键
110         ///Gravity: 控制按键控制结束后的反应速度,当按键结束控制后,对象将迅速失去控制
111         ///  这个两个:一个是按下键盘或者鼠标那一刹那的反应与否
112         ///     另一个是松开键盘或鼠标那一刹那的迅速反应与否
113         /// Snap: 选中由) 变为+1 ,不选由-1 逐步变为+1 (应用于比如赛车类游戏)
114         ///  
115 
116     }
117 
118 
119     /// <summary>
120     /// 获取各种按键方法
121     /// </summary>
122     void Test2()
123     {
124         //1.
125         //Input.anyKey: 任何按键(包括鼠标和键盘)事件发生(包括按下,抬起等等)
126         //Input.anyKeyDown :任何按键(包括鼠标和键盘)事件发生(只包括按下那时刻)
127         //if (Input.anyKey)
128         //{
129         //    Debug.Log("按下一个键");
130         //}
131 
132 
133         //2.
134         //获取空格输入
135         Input.GetKey("space"); Input.GetKey(KeyCode.Space); Input.GetButton("Jump");
136         //获取向上按键
137         Input.GetKey("up");
138         //获取字母按键A
139         Input.GetKey("a"); Input.GetKey(KeyCode.A);
140 
141 
142         ///获取键盘按键与InputManager管理类没有直接关联,而获取按钮方法则与命名的名称直接对应
143         ///建议用GetButton,因为可以在项目完成之后更灵活的修改按键的控制
144 
145 
146        // Input.mousePosition; 返回当前鼠标的位置
147        // Input.mousePresent;
148 
149 
150     }
原文地址:https://www.cnblogs.com/CeasarH/p/9261857.html