Input输入对象常用方法详解

简介:

 Input对象可以获取用户所有行为的输入,如鼠标、键盘、加速度、陀螺仪、按钮等,所以掌握Input对象就可以在外部输入信息和系统之间进行交互。

 

Input对象的主要变量:

mousePonsition  当前鼠标的像素坐标

anyKeyDown 用户点击任何键或鼠标按钮,第一帧返回true

acceleration  加速度传感器的值

anykey 当前是否有按键按住,若有返回true

inputString 返回键盘输入的字符串

Touches 返回当前所有触摸(touch)列表

 

 

1mousePonsition变量

 变量mousePonsition是一个三维坐标,用于获取当前鼠标的像素坐标,像素坐标是以屏幕左下角为(0,0)点,屏幕右上角为(Screen.width,Screen.height)计算的,具体获取方式可以参看一下代码:

 

Void Update(){

If(Input.GetButtonDown(0))//点击鼠标左键

{

Debug.Log(Input.mousePonsition);//打印鼠标位置

}

}

 

2anyKeyDown anykey变量

变量anykey用于显示当前是否有任何按键按下,若是有,始终返回true。将下面代码添加到脚本中,将脚本挂在到摄像机上,运行Unity,当按下任何键(按钮持续处于按下)时就会不停的显示打印信息:

Void Update()

{

If(Input.anyKey) //按下任意键

{

Debug(“有按键被持续按下”); //打印信息

}

}

 

变量anyKeyDown和变量anykey有一些区别,前者只有在按下按钮后的第一帧返回True。将上面的代码稍微修改后运行场景即可发现,只要有按钮按下,就会打印一次信息,若是按钮持续处于按下状态,也仅仅打印第一次。

Void Update()

{

If(InputanyKeyDown ) //按下任意键

{

Debug(“有按键被按下”); //打印信息

}

}

 

 

3inputString 变量

变量inputString返回值在这一帧中输入的字符串。注意,在返回的字符串中只包含ASCII码中的字符,若是本次没有输入字符串就会返回一个空串,如下面代码显示:

Void Update()

{

If(Input.inputString !=””)

{

Debug.Log(Input.inputString);

}

}

 

4GetButton方法、GetButtonDown方法与GetButtonUP方法

这三种方法用于监听虚拟按钮的按下状态,包括按钮按下时、按钮按下中、按钮抬起时3个状态,开发人员需要在Update方法中回调这些方法来判断按钮的状态。其中的区别可以参看下面的功能代码片段:

 

Void Update()

{

if (Input.GetButton("fiel"))

       {

           Debug.Log("按键被连续按下");

       }

       if (Input.GetButtonDown("fiel"))

       {

           Debug.Log("按键被按下");

       }

       if (Input.GetButtonUp("fiel"))

       {

           Debug.Log("按键被抬起");

       }

}

 

 

5GetKey方法、GetKeyDown方法、GetKeyUp方法

3中方法主要用于监听键盘上的按键状态,从开发人员需要在Update方法中调用这些方法,并传入想要监听的键名或键码。每个按钮的状态也分为按下、抬起、按住3种。使用者可以根据需要进行选用。使用方法如下:

 

 

if (Input.GetKey(KeyCode.A))  //KeyCode 是枚举类型,可以获取里面的每一个枚举元素,枚举元素分别对应键盘上的按键

       {

           Debug.Log("A键被按住");

       }

       if (Input.GetKeyDown(KeyCode.A))

       {

           Debug.Log("A键被按下");

       }

       if (Input.GetKeyUp(KeyCode.A))

       {

           Debug.Log("A键被抬起");

       }

6、GetMounseButton方法、GetMouseButtonDown方法和GetMouseButtonUP方法

当开发计算机端的游戏时,肯定需要监听鼠标的操控。Input输入对象中包含了GetMounseButtonGetMouseButtonDownGetMouseButtonUP三种方法,用他们来监听鼠标按键。在使用时只要在Update中传入鼠标按键的索引,就可以对鼠标进行监听了。与前面介绍的方法类似,这三种方法也分别监听了鼠标按键的3个状态:

if (Input.GetMouseButton(0))

       {

           Debug.Log("鼠标左键键被按住");

       }

       if (Input.GetMouseButtonDown(0))

       {

           Debug.Log("鼠标左键键被按下");

       }

       if (Input.GetMouseButtonUp(0))

       {

           Debug.Log("鼠标左键键被抬起");

       }

 

说明:这三个方法的参数是一个int类型索引。常用的鼠标按键为012分别对应的鼠标的左键、右键、中键。需要使用的时候传入相应的索引就可以监听对应的按键了

 



本文转自 宁金峰 51CTO博客,原文链接:http://blog.51cto.com/13243523/1971003,如需转载请自行联系原作者

相关文章
el-input的number类型里输入e、+、-符号返回值为空?
el-input的number类型里输入e、+、-符号返回值为空?
237 0
|
3月前
|
Web App开发 前端开发 iOS开发
input中typedate的属性都有那些
input中typedate的属性都有那些
|
2月前
|
固态存储 SDN
编写input()和output()函数输入
编写input()和output()函数输入。
49 11
|
2月前
|
JavaScript
限制input框中的输入类型及长度
限制input框中的输入类型及长度
|
3月前
|
前端开发 Java 测试技术
把List<对象>转变<String,List<对象>>形式,k为判断的值,v为k重复的数据。
把List<对象>转变<String,List<对象>>形式,k为判断的值,v为k重复的数据。
21 0
|
8月前
Input 标签监听内容输入(change、input 事件区别)
Input 标签监听内容输入(change、input 事件区别)
57 0
|
9月前
|
JavaScript 前端开发 数据安全/隐私保护
input的23种属性
input的23种属性