第八章 Libgdx输入处理(4)手势捕获

Android游戏开发群:290051794
Libgdx游戏开发框架交流群:261954621

 

触摸屏非常适合手势输入。一个手势可以是通过两个手指来变焦,点击,双击或长按等等。

Libgdx提供了GestureDetector类来检测以下动作:

1、 
点击:用户触摸屏幕。当一个点击被注册后,手指不要远离初始位置太远。

2、 
滑动:用户在屏幕上滑动,并释放。

3、 
变焦:用两个手指在屏幕上实现放大缩小。

4、 
Pinch:类似于变焦。但有些不同。

5、 
一个GestureDetector是一个InputProcessor
的伪装类,为了实现动作捕获,必须继承GestureListener并传递给GestureDectector构造函数。

public class MyGestureListener implements GestureListener {

   @Override

   public boolean touchDown (int x, int y, int pointer) {

      return false;

   }

   @Override

   public boolean tap (int x, int y, int count) {

      return false;

   }

   @Override

   public boolean longPress (int x, int y) {

      return false;

   }

   @Override

   public boolean fling (float velocityX, float velocityY) {

      return false;

   }

   @Override

   public boolean pan (int x, int y, int deltaX, int deltaY) {

      return false;

   }

   @Override

   public boolean zoom (float originalDistance, float currentDistance) {

      return false;

   }

   @Override

   public boolean pinch (Vector2 initialFirstPointer, Vector2 initialSecondPointer, Vector2 firstPointer, Vector2 secondPointer) {

      return false;

   }

}

作者:宋志辉 
出处:http://blog.csdn.net/song19891121
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 
支持: 新浪微博 腾讯微博

时间: 2024-07-31 15:48:11

第八章 Libgdx输入处理(4)手势捕获的相关文章

第八章 Libgdx输入处理(9)菜单捕获

Android游戏开发群:290051794 Libgdx游戏开发框架交流群:261954621   在Android中,当用户按下返回键,这样通常会关闭正在运行的Activity.游戏通常会在退出之前显示一个确认对话框.捕获返回键语句如下: Gdx.input.setCatchBackKey(true); 如果你注册了InputProcessor,你任然可以获取按键事件,但是Android系统不会关闭你的应用. 注意:一般情况下,在Android中点击返回键会关闭当前的Activity.偏离常

第八章 Libgdx输入处理(3)输入设备

Android游戏开发群:290051794 Libgdx游戏开发框架交流群:261954621      简介 在Android中,Libgdx支持的主要输入设备为触摸屏和键盘.由于现在大部分Android设备不再配备键盘,所以这里我们只讨论触摸屏. 触摸操作 触摸输入机制可以确定你的点击的屏幕的位置,屏幕的左上角为原点.X轴指向右边,y轴指向屏幕下边. 触摸没有按钮的概念.依靠硬件的支持可以同时响应多个触摸操作.第一代的Android手机仅仅支持单点触摸.从Motorola Droid开始,

第八章 Libgdx输入处理(1)

Android游戏开发群:290051794Libgdx游戏开发框架交流群:261954621    在Android中,输入设备通常为触摸屏.有的Android通常会有加速度计或罗盘. Libgdx将所有的不同的输入设备抽象化.只不过不同的输入设备或许会有不同的方法. 根据不同的输入设备,可以检测设备的状态,或者注册一个监听器按时间顺序接收输入事件. 所有的输入设备都是通过输入模块实现:  // 检查是否按键A被按下 boolean isPressed = Gdx.input.isKeyPre

第八章 Libgdx输入处理(8)振动器

Android游戏开发群:290051794 Libgdx游戏开发框架交流群:261954621   虽然这不是严格的输入设备,只不过是一个外设而已.我们认为它属于输入模型. 振动器允许你震动手机,这通常可以用于游戏控制器中. 在Android中使用振动器需要申请相关权限: android.permission.VIBRATE. 如下: Gdx.input.vibrate(2000); 上句的2000相当于2秒. 更复杂的模式可以通过第二个vibrate()方法实现: Gdx.input.vib

第八章 Libgdx输入处理(5)简单文本输入

Android游戏开发群:290051794 Libgdx游戏开发框架交流群:261954621   如果应用需要询问用户输入字符串,比如名字或密码,在某种程度上可以使用定制的简单的对话框. 在Android系统中,一个android的标准对话框会打开,并提示用户输入. 为了获取输入或通知,必须继承TextInputListener接口: public class MyTextInputListener implements TextInputListener { @Override publi

第八章 Libgdx输入处理(2)配置和查询

Android游戏开发群:290051794Libgdx游戏开发框架交流群:261954621    有时需要知道支持什么样的输入设备.当然,你的游戏不必支持所有的输入设备.比如你可能不需要加速度计或罗盘.为了节省电量可以考虑关闭这些输入设备. 禁用加速度计和罗盘 在执行AndroidApplication.initialize()方法之前,可以通过调用AndroidApplicationConfiguration类的两个公用方法进行设置. 假设游戏不需要加速度计和罗盘,如下: public c

第八章 Libgdx输入处理(10)触摸屏

Android游戏开发群:290051794 Libgdx游戏开发框架交流群:261954621     大部分Android设备不具备物理键盘.相反,可以实现软键盘.为了调用软键盘,需要使用以下方法: Gdx.input.setOnscreenKeyboardVisible(true); 一旦设为true,任何按键点击将被当做事件报告给应用.此外,可以检测特定键的状态. 注意:当横屏使用软键盘时,这里有个bug.     作者:宋志辉 出处:http://blog.csdn.net/song1

第八章 Libgdx输入处理(6)加速度计

Android游戏开发群:290051794 Libgdx游戏开发框架交流群:261954621   在Android中,加速度计是通过三个坐标确定设备加速度.加速度的变化源于设备的倾斜和方向的改变. 加速度的单位是(m/s2),如果一个轴指向地球的中心,则加速度大约为10 m/s2.如果指向相反地方向,则加速度为-10 m/s2. 在Android,各轴表示如下: 对于手机来说,portrait mode是默认的方向模式. 检测可用性 不同的Android设备具有不同的硬件配置.下面代码检测设

第八章 Libgdx输入处理(7)罗盘

Android游戏开发群:290051794 Libgdx游戏开发框架交流群:261954621   有些Android设备集成了罗盘. 查询罗盘是否可用的代码如下: boolean compassAvail = Gdx.input.isPeripheralAvailable(Peripheral.Compass); 一旦确定罗盘可用,你可以获取其状态: float azimuth = Gdx.input.getAzimuth(); float pitch = Gdx.input.getPitc