unity ------- input

unity的输入用Input类管理。而inputManager管理输入设备。在unity中输入分为:按键输入(包括键盘、鼠标按键)、鼠标移动输入、操纵杆输入、以及touch输入。前3种输入都可以在InputManager中手动配置。

先说说InputManager。打开Edit->Project Setting -> Input 。在属性面板中就可以看到图片中的内容:

unity ------- input_第1张图片

其中size为虚拟键的个数。图中的Horizontal、Vertical、Fire1、Fire2等都是虚拟键。每个虚拟键又有许多的配置属性。如:Name,DescriptiveName等等。

虚拟键可以模拟键盘,鼠标,和操纵杆的输入。Type属性标识了模拟哪种输入。

下面来看看每个参数都有什么作用:

unity ------- input_第2张图片

有了虚拟键,程序中就可以用getButton、getButtonDown、getButtonUp来获取按键状态。除了这三个函数,Input还提供了几个专门针对鼠标、键盘的函数。只不过有了虚拟键,基本上就可以不用其他函数了。


假如我们开发一款游戏,需要在不同平台上发布,则针对有操作杆的设备定义一个Hov来控制方向键,针对有键盘的设备在定义一个Hov,针对有鼠标的设备再定义一个Hov。

也就是说有三个同名的虚拟键,在开发时,只需要调用Input.GetButton就可以了,不需要再考虑设备不同的问题!


虚拟键只能模拟鼠标、键盘和操纵杆,但不能模拟touch。所以Input类又提供了几个函数和变量来处理Touch。



在程序中可以这样使用Touch

for(var touch : Touch in Input.touches)

touch. ...



你可能感兴趣的:(unity,input,输入)