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-12-22 05:50:45

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

从MyEclipse到IntelliJ IDEA ——让你摆脱鼠标,全键盘操作

从MyEclipse到IntelliJ IDEA --让你摆脱鼠标,全键盘操作   从MyEclipse转战到IntelliJ IDEA的经历 我一个朋友写了一篇"从Eclipse到Android Studio"博文,于是心潮澎湃我也想一篇,分享自己用这个IDEA的一些技巧和感受. 来到公司的第一天,我的同事(也是我的师傅)就让我装IntelliJ IDEA.一开始我还不知道IntelliJ IDEA是什么,后来才知道它是一个java的集成开发环境(IDE),一个功能非常强大响应非常快

acm输入格式问题,就是如何从键盘输入数组

问题描述 acm输入格式问题,就是如何从键盘输入数组 解决方案 int i, n; int * a; cin >> n; a = new int[n]; for (i = 0; i < n; i++) cin >> a[i]; 解决方案二: #include<stdio.h> void main() { int n,i,min; scanf("%d",&n); int *a=new int[n]; for( i=0; i<n; i

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

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

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

9.1、Libgdx的输入处理的配置和查询

(官网:www.libgdx.cn) 有时判断是否支持输入设备是必要的.通常你的游戏不需要支持所有的输入设备.比如你可能不需要加速度计或者罗盘.这时我们需要禁用这些设备保持电量.接下来将教你怎样做. 禁用加速度计和罗盘(Android) 在执行AndroidApplication.initialize()方法之前,可以只用AndroidApplicationConfiguration类来设置一些参数,包括配置输入设备. 假设我们的游戏不需要加速度计和罗盘,我们可以禁用这些设备: public c

Mac OS X中不用鼠标、使用键盘重新开关机

不用鼠标也行: 不知道大家在古典时代是否有使用这一些键盘的功能,我是觉得很实用,也让我工作效率增加,而这些功能在Mac OS X也都还存在,现在提供: 首先,接下来所说得上下键都是上下左右键的上跟下的键 选一个磁盘,文件,当按夹,或应用程序 command + 下键:磁盘或文件夹会打开应用程序会启动 ,文件会打开 选一个磁盘,文件,文件夹,或应用程序 command + 上键:如果原本在第三层的文件夹里,现在会跑到第二层 option + command + 上下键:除了有上面的效果,原窗口会先

怎么在win7下开启键盘鼠标键用键盘来控制鼠标移动呢?

  第一.打开鼠标键 (1)按Ctrl+Esc组合键打开开始选单,按S键然后按C键打开控制面板; (2)按方向键移动到"辅助选项",按回车键打开它的属性对话框; (3)按Ctrl+Tab组合键切换到"鼠标"页,按Alt+M组合键选中"使用鼠标键"选项; (4)按Alt+S组合键进入鼠标键设置对话框,按Alt+T选中"最高速度"项,然后按右方向键将其调至最大,同理,将"加速"项调至最大; (5)按两次回车键退

win7开启键盘鼠标键用键盘来控制鼠标的移动

  启用鼠标键就是用用键盘来控制鼠标的移动,在Windows7系统中这个选项在控制面板的轻松访问中心--使键盘更易于使用中,下面是图文说明: 打开控制面板--轻松访问 选择更改键盘的工作方式 选择使用键盘控制鼠标 1.打开鼠标键 (1)按Ctrl+Esc组合键打开开始选单,按S键然后按C键打开控制面板; (2)按方向键移动到"辅助选项",按回车键打开它的属性对话框; (3)按Ctrl+Tab组合键切换到"鼠标"页,按Alt+M组合键选中"使用鼠标键&quo