简介 轮询(polling)是用来检查输入设备的当前状态,比如:一个特定的按键按下,或者一个手指在屏幕的触摸位置。这是一个快速简便的方法用来处理用户的输入,并且足以满足大多数街机游戏。 注意:如果你依赖于轮询(polling)时,你可能会错过事件,比如快节奏的按下向上键/向下键。如果您需要保证输入动作序列的完整性,那就需要使用事件处理(event handling),而不是使用轮询。 轮询键盘状态 简单的代码就能取到键盘的状态,如下。 [crayon-5014ed635698b/] 这个方法的参数很简单,就是传一个Key的代码。你不必记住这些Key内包含的代码,可以从输入接口的静态类里查到。 轮询触摸屏/鼠标 这里有不少方法涉及到轮询触摸屏/鼠标。要检查是否有一个或多个手指在屏幕上(相当于鼠标按钮被按下)目前可以通过以下方法做到: [crayon-5014ed6356a14/] 对于多点触控的屏幕,你需要注意哪个手指(指针)当前在屏幕上: [crayon-5014ed6356a95/] 每个手指碰到屏幕的时候会得到一个指针索引。第一个手指触碰的时候得到索引0,第二个得到1,以此类推。如果一个手指离开屏幕然后又触碰屏幕,但其他手指还在屏幕上,这个时候这个手指会得到一个最小且空闲的索引。举例: [crayon-5014ed6356b16/] 在桌面或者浏览器上,你只能有一个手指来处理。 如果你想要查询用户是否按下并抬起手指,你可以用以下方法: [crayon-5014ed6356bdb/] 这个可以在这种情况下使用,你要查询快速按下和抬起这套动作,比如在屏幕上说:“点击屏幕继续”。注意,这不是一种可靠的方法,因为它是基于轮询的。 为了得到一个特定的手指的坐标,你可以使用下列方法: [crayon-5014ed6356c77/] 这样我们可以得到指针索引0(0为默认值)和指针索引1的触摸坐标。在一个相对于屏幕的坐标系统坐标。原点(0,0)在屏幕的左上角,x轴向右,y轴向下。 鼠标按键 在桌面上你可以查询是否鼠标被点击: [crayon-5014ed6356cf8/] 以下是常量按键类: [crayon-5014ed6356d7a/] 请注意,在Android上,我们只能模拟鼠标左键。任何触摸事件将被解释为用鼠标左键按下按钮发出。因为触摸屏显然不具有左,右和中间键的概念。 好吧,本来本文想把事件处理也讲完,但篇幅已经有点长了,就下次讲了。 欢迎转载,请保留出处:爱撸小杰
本文 libgdx跨平台游戏引擎介绍之Input(二)——轮询 在 爱撸小杰-关注互联网的个人IT博客 首次发表
Link URL: http://www.aojgame.com/developer/2203.html
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27202405/viewspace-738605/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27202405/viewspace-738605/