1 . 获得键盘
Input.GetKey(KeyCode.A)
Input.GetKeyDown(KeyCode.A)
Input.GetKeyUp(KeyCode.A)
2.获得鼠标信息
3.轴输入
 Input.GetAxis 获取轴
 根据坐标轴名称返回虚拟坐标系中的值。
 使用控制器和键盘输入时此值范围在-1到1之间;
1、Input类中的常用属性
属性名
类型
属性类型
含义
anyKey
获取任意键按住
anyKeyDown
bool
get;
获取任意键按下
mousePosition
Vector3
get;
获取鼠标移动的坐标
2、Input类中常用属性
(1)、GetKey(KeyCode key)
方法类型:静态。
参数:key—键盘上的某个键。
返回值:bool—当键盘上某个键被一直按住的时候,其返回值为true,否则为false。
含义:检测键盘上的某个键是否被一直按住,如果该键一直按住,其返回值为true,否则为false。
重载方法:GetKey(string name)
(2)、GetKeyDown(KeyCodekey)
方法类型:静态。
参数:key—键盘上的某个键。
返回值:bool—当键盘上某个键被按下的时候,其返回值为true,否则为false。
含义:检测键盘上的某个键是否被按下,如果该键被按下,其返回值为true,否则为false。
重载方法:GetKeyDown(string name)
(3)、GetKeyUp(KeyCodekey)
方法类型:静态。
参数:key—键盘上的某个键。
返回值:bool—当键盘上某个键按下之后抬起的时候,其返回值为true,否则为false。
含义:检测键盘上的某个键是否被按下之后抬起,如果该键被按下之后抬起,其返回值为true,否则为false。
重载方法:GetKeyUp (string name)
(4)、GetMouseButtonDown(intbutton)
方法类型:静态。
参数:button—表示鼠标上的键,0:表示鼠标左键,1:表示鼠标右键,2表示鼠标中键,3:表示鼠标上键,4:表示鼠标下键(其中3和4件不经常用,因为有的鼠标上没有这两个键)。
返回值:bool—当鼠标上某个键被按下之后,其返回值为true,否则为false。
含义:检测鼠标上的某个键是否被按下,如果该键被按下,其返回值为true,否则为false。
(5)、GetAxis(stringaxisName)
方法类型:静态。
参数:axisName—轴向,Horizontal:表示水平方向,其值从-1到1之间变化,当A键被按下的时候其在水平方向上的向量为0-1(取不到0),当D键被按下的时候其在水平方向上的向量为-1-0(取不到0),当A键和D键都没有被按下的时候,其水平方向上的向量为0;Vertical:表示竖直方向,其值从-1到1之间的变化,当W键被按下的时候其在竖直方向上的向量为0-1(取不到0),当S键被按下的时候其在竖直方向上的向量为-1-0(取不到0),当S键和W键都没有被按下的时候,其竖直方向上的向量为0。
返回值:float—按下设定的某个键之后,表示变化的数值,从-1到1之间变化。
含义:检测键盘上某个按键被一直按住的时候,其在设定的方向上的变化。
 鼠标点击:
 Input.GetMouseButtonDown(0) //鼠标左键按下
 Input.GetMouseButtonDown(1) //鼠标右键按下
 Input.GetMouseButtonUp(0) //鼠标左键抬起
 Input.GetMouseButtonUp(1) //鼠标右键抬起
  
 键盘事件:
 Input.GetKeyDown(KeyCode.键值) //键盘按下
 Input.GetKeyUp(KeyCode.键值) //键盘抬起
  
 常用的键值:
 KeyCode.大写字母A-Z //字母键
 KeyCode.UpArrow
 KeyCode.DownArrow
 KeyCode.LeftArrow
 KeyCode.RightArrow
 KeyCode.Return //回车
 KeyCode.Escape //Esc返回
 KeyCode.Space //空格
 KeyCode.LeftControl
 KeyCode.RightControl
 KeyCode.LeftShift
 KeyCode.RightShift
 KeyCode.Tab
 KeyCode.Delete
 KeyCode.Backspace
  
二、获取键盘或者各电视遥控器键值用于输入事件适配
using UnityEngine; 
using System.Collections; 
using UnityEngine.UI; 
public class KeyCode : MonoBehaviour { 
  
 //显示键值信息的UI文本组件 
 public Text keycodeText; 
  
 //只能在OnGUI内获取键值 
 void OnGUI() 
 { 
 if (Input.anyKeyDown) 
 { 
 Event e = Event.current; 
 if (e.isKey) 
 { 
 keycodeText.text ="按下的键值:" + e.keyCode.ToString(); 
 } 
 } 
 } 
} 
Unity键值表:
/ 鼠标键值 / 
Mouse0 鼠标左键 
Mouse1 鼠标右键 
Mouse2 鼠标中键 
Mouse3 鼠标第3个按键 
Mouse4 鼠标第4个按键 
Mouse5 鼠标第5个按键 
Mouse6 鼠标第6个按键 
  
/ 键盘键值 / 
//方向键 
UpArrow 方向键上 
DownArrow 方向键下 
RightArrow 方向键右 
LeftArrow 方向键左 
  
//F功能键 
F1 功能键F1 
F2 功能键F2 
F3 功能键F3 
F4 功能键F4 
F5 功能键F5 
F6 功能键F6 
F7 功能键F7 
F8 功能键F8 
F9 功能键F9 
F10 功能键F10 
F11 功能键F11 
F12 功能键F12 
F13 功能键F13 
F14 功能键F14 
F15 功能键F15 
  
//数字键 
Alpha0 按键0 
Alpha1 按键1 
Alpha2 按键2 
Alpha3 按键3 
Alpha4 按键4 
Alpha5 按键5 
Alpha6 按键6 
Alpha7 按键7 
Alpha8 按键7 
Alpha9 按键9 
  
//字母键 
A ‘a’键 
B ‘b’键 
C ‘c’键 
D ‘d’键 
E ‘e’键 
F ‘f’键 
G ‘g’键 
H ‘h’键 
I ‘i’键 
J ‘j’键 
K ‘k’键 
L ‘l’键 
M ‘m’键 
N ‘n’键 
O ‘o’键 
P ‘p’键 
Q ‘q’键 
R ‘r’键 
S ‘s’键 
T ‘t’键 
U ‘u’键 
V ‘v’键 
W ‘w’键 
X ‘x’键 
Y ‘y’键 
Z ‘z’键 
  
//功能键 
Backspace 退格键 
Delete Delete键 
Tab Tab键 
Clear Clear键 
Return 回车键 
Pause 暂停键 
Escape ESC键 
Space 空格键 
Numlock Numlock键 
Capslock 大小写锁定键 
ScrollLockScroll Lock键 
RightShift 右上档键 
LeftShift 左上档键 
RightControl 右Ctrl键 
LeftControl 左Ctrl键 
RightAlt 右Alt键 
LeftAlt 左Alt键 
LeftApple 左Apple键 
LeftWindows 左Windows键 
RightApple 右Apple键 
RightWindows 右Windows键 
AltGr Alt Gr键 
Help Help键 
Print Print键 
SysReq Sys Req键 
Break Break键 
Insert Insert键 
Home Home键 
End End键 
PageUp PageUp键 
PageDown PageDown键 
  
//符号键 
Exclaim ‘!’键 
DoubleQuote 双引号键 
Hash Hash键 
Dollar ‘$’键 
Ampersand Ampersand键 
Quote 单引号键 
LeftParen 左括号键 
RightParen 右括号键 
Asterisk ‘ * ’键 
Plus ‘ + ’键 
Comma ‘ , ’键 
Minus ‘ - ’键 
Period ‘ . ’键 
Slash ‘ / ’键 
Colon ‘ : ’键 
Semicolon ‘ ; ’键 
Less ‘ < ‘键 
Equals ‘ = ‘键 
Greater ‘ > ‘键 
Question ‘ ? ’键 
At ‘@’键 
LeftBracket ‘ [ ‘键 
Backslash ‘ ’键 
RightBracket ‘ ] ’键 
Caret ‘ ^ ’键 
Underscore ‘ _ ’键 
BackQuote ‘ ` ’键 
  
//小键盘 
Keypad0 小键盘0 
Keypad1 小键盘1 
Keypad2 小键盘2 
Keypad3 小键盘3 
Keypad4 小键盘4 
Keypad5 小键盘5 
Keypad6 小键盘6 
Keypad7 小键盘7 
Keypad8 小键盘8 
Keypad9 小键盘9 
KeypadPeriod 小键盘“.” 
KeypadDivide 小键盘“/” 
KeypadMultiply 小键盘“*” 
KeypadMinus 小键盘“-” 
KeypadPlus 小键盘“+” 
KeypadEnter 小键盘“Enter” 
KeypadEquals 小键盘“=” 
-----------------------------------------------------------------
补充
截获鼠标,键盘的消息
监听事件我们都是在Update里面监听的。
Unity的虚拟轴打开:Edit-->Project Settings-->Input,打开的各个Name就是双引号里面要填的,记不住就打开查,也可以自己定义一些按键。
一、Input的主要变量
1: mousePosition: 当前鼠标的像素坐标;
2: anyKey/anyKeyDown: 当前是否有按键按住; 
3: inputString: 本次update时间间隔内输入的字符串;
4: acceleration: 重力加速度传感器的值,加速度的方向;
5: touches: 返回当前所有触摸对象的列表Touch[],触摸屏可以支持多根手指轨迹;
二、Input的主要方法
1: GetAxis/GetAxisRaw: 返回表示虚拟轴的值:
2: GetButton/GetButtonDown/GetButtonUp 虚拟按钮
3: GetKey/GetKeyDown/GetKeyUp 按下制定按钮;
4: GetMouseButton 
GetMouseButtonDwon 
GetMouseButtonUp
5: GetTouch(index) 返回当前触控Touch对象;
6: 打开InputManager: 配置虚拟轴;
三、Input使用实例
1.创建一个Canvas
2.对Canvas进行初始化
3.创建一个Image的UI节点作为Canvas的子节点,名字叫bg,拖进背景图片到这个节点中。
4.创建一个叫Game_scene的脚本,挂载到Canvas下面
5.Game_scene脚本内容:
四、虚拟轴定义
1: Name: 轴的名字;
2: Descriptive: 正向方向描述;
3: Button:正向反向按钮和附加按钮;
4: Gravity:复位的速度,用于按键和鼠标;
5: Dead: 小于该值的输入值, 都会被视为0,用于摇杆。
6: Sensitivity(灵敏度): 对于键盘输入,该值越大则响应时间越快,该值越小则越平滑。对于鼠标输入,设置该值会对鼠标的实际移动距离按比例缩放
7: Snap对齐: 如果启用该设置,当轴收到反向的输入信号时,轴的数值会立即置为0,仅用于键/鼠标 输入。 
8:Invert 反转: 启用该参数可以让正向按钮发送负值,反向按钮发送正值。
9:Type 类型: 所有的按钮输入都应设置为 键/鼠标 (Key / Mouse) 类型,对于鼠标移动和滚轮应设为 鼠标移动(Mouse Movement)。摇杆设为摇杆轴 (Joystick Axis),用户移动窗口设为窗口移动 (Window Movement)。 
10:Axis 轴: 设备的输入轴(摇杆,鼠标,手柄等) 
11:Joy Num 摇杆编号: 设置使用哪个摇杆。默认是接收所有摇杆的输入。仅用于输入轴和非按键。
五、Touch对象
1:fingerID; 手指ID
2: position 手指位置
3: deltaPosition 距离上一次的偏移;
4: phase: 触摸相位TouchPhase.Began Moved, cancel, ended;
5: Touch事件同时会触发 GetMouseButton(0)事件,能够使用Input.GetAxis("Mouse X/Y")获取触摸偏移位置;
6: 到底用Touch还是用Mouse,如果对触摸的准确性要求不高,可以使用Mouse,否则还是区别对待,使用Touch,如果要多点触控,那么自己判断,直接自己使用Touch
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/30365.html