9.2、Libgdx的输入处理之鼠标、触摸和键盘

(官网:www.libgdx.cn

Libgdx支持的最主要的设备是desktop或浏览器的鼠标支持,Android的触摸屏支持和键盘的支持。我们接下来了解一下。

键盘

用户按下或释放一个按键生成了相应的事件。每个事件包含了一个 key-code来识别是哪个按键按下或释放。这些key-code在不同的平台是不同的。Libgdx要做的就是隐藏不同系统之前的差别。可以查阅Keys类。你可以通过轮询来判断是哪个键被按下。

单独的key-code不能告诉我们用户输入了什么。这通常是组合键造成这种困扰,比如可以通过shift和a来输入A。

鼠标和触摸

鼠标和触摸输入允许用户在屏幕上进行点击。两种输入机制都会返回点击的坐标。原点在左上角,x轴向右,y轴向下。

鼠标输入还包含额外的信息,通知哪个按键被按下。大部分鼠标包含左键、右键和中间键。另外,鼠标通常包含滚轮在应用中进行缩放和滚动等操作。

触摸输入没有按钮的概念。可能支持多点触摸,这取决于具体的设备。第一代Android手机仅仅支持单点触摸。现在大部分手机都支持多点触摸。

需要注意的是,触摸操作在不同的设备中有所差异。这就使得触摸事件触发后悔产生一定的问题。所以要尽可能多的在多台设备上测试你的游戏。

Libgdx抽象同一的对鼠标和触摸事件进行处理。我们可以将鼠标视为一种特殊的触摸。单点触摸,除了坐标外,还会报告按下的按键。触摸输入支持多点触摸,所有的触摸事件都会默认设置鼠标左键(只要你点击屏幕,Libgdx按你鼠标点击左键处理,只不过支持多点)。

需要注意的是Android坐标系统跟屏幕的方向无关。取决于你在应用中的设置。

鼠标和触摸都能通过轮询和事件驱动进行处理。

www.libgdx.cn版权所有,如需转载,注明出处)

时间: 2024-10-31 11:16:28

9.2、Libgdx的输入处理之鼠标、触摸和键盘的相关文章

Selenium入门12 鼠标操作,键盘输入

1 鼠标 集成在webdriver.ActionChains.单击.双击.右击.拖放等等.   2 键盘 引入包from selenium.webdriver.common.keys import Keys.键盘上按键几乎都有. #coding=utf-8 # 鼠标 webdriver.ActionChains # 键盘 Keys from selenium import webdriver from selenium.webdriver.common.keys import Keys impo

鼠标消息与键盘消息

在Microsoft Windows 中,键盘和鼠标是两个标准的用户输入源,在一些交叠的操作中通常相互补充使用.当然,鼠标在今天的应用程序中比10年前使用得更为广泛.甚至在一些应用程序中,我们更习惯于使用鼠标,例如在游戏.画图程序.音乐程序,以及Web创览器等程序中就是这样.然而,我们可以不使用鼠标,但绝对不能从一般的PC中拆掉键盘. 相对于个人计算机的其他组件,键盘有非常久远的历史,它起源于1874年的第一台Remington打字机.早期的计算机程序员用键盘在 Hollerith卡片上打孔,以

【Selenium02篇】python+selenium实现Web自动化:鼠标操作和键盘操作!

一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第二篇博文 二.Selenium第一篇博文地址: [Selenium01篇]python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作! 三.Selenium之鼠标操作和键盘操作 1.鼠标事件 在webdriver中,鼠标操作的方法封装在 ActionChai

基于OpenGL编写一个简易的2D渲染框架-07 鼠标事件和键盘事件

这次为程序添加鼠标事件和键盘事件 当检测到鼠标事件和键盘事件的信息时,捕获其信息并将信息传送到需要信息的对象处理.为此,需要一个可以分派信息的对象,这个对象能够正确的把信息交到正确的对象. 实现思路: 要实现以上的功能,需要几个对象: 事件分派器:EventDispatcher,负责将 BaseEvent 分派给 EventListener 对象 事件监听器:EventListener,这只是一个接口类,接受 BaseEvent 的对象,真正的处理在它的子类中实现 事件:BaseEvent,储存

xcode4.3 完成输入后 点击背景关闭键盘

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ [self.view endEditing:YES];}把这个复制到视图对应的.m文件中,即可 xcode4.3 完成输入后 点击背景关闭键盘,布布扣,bubuko.com

鼠标用户和键盘用户

a:focus{outline:none;} 设置类似这样的属性后,超级链接点击后的虚线框会没掉,对于键盘用户来说就得不到焦点框. 刚巧改这个的时候留神到了 在JavaScript中,IE7如果出现JSON以逗号结尾会报错,如 var json = { one : 1, two : 2, // IE7报错,去掉2后面的逗号就正常了 } 鼠标用户和键盘用户,布布扣,bubuko.com

Android游戏之输入类设计(传感器,键盘,触摸点)

Android游戏之输入类设计(传感器,键盘,触摸点) 1.基础知识: A. SensorEventListener传感器事件监听 http://developer.android.com/reference/android/hardware/SensorEventListener.html Class Overview--------------------------------------------------------------------------------Used for

9.2.2、Libgdx的输入处理之事件处理

(官网:www.libgdx.cn) 事件处理可以更加准确的获取用户的输入.事件处理提供了一种可以通过用户接口进行交互的方法.比如按下.释放一个按钮. 输入处理 事件处理通过观察者模式来完成.首先,需要实现InputProcessor接口: public class MyInputProcessor implements InputProcessor { @Override public boolean keyDown (int keycode) { return false; } @Overr

9、Libgdx的输入处理

(官网:www.libgdx.cn) 不同的平台有着不同的输入方式.桌面用户可以通过键盘和鼠标与应用进行交互,基于浏览器的游戏也是这样.在Android中,鼠标被触摸屏所替代,通常没有实体键盘.Android设备有加速度计和罗盘等传感器. Libgdx抽象了所有的这些输入设备.鼠标和触摸屏被视为同一类型,并且支持多点触摸. 取决于不同的输入设备,可以使用轮询的方式来监听状态,或者通过注册一个监听. 所有的输入设备通过Input模块访问: // 判断键盘A是否被按下. boolean isPres