LibGDX输入模块配置和查询

有时需要知道目标平台支持哪些输入设备。 通常情况下,您的游戏不需要所有支持的输入设备。 您可能不需要加速度计或指南针。 在这种情况下禁用这些输入设备是保持Android上的电池的好习惯。 以下部分将介绍如何执行这些操作。

在Android上禁用加速器和指南针

AndroidApplicationConfiguration类有一些公共字段,您可以在将其传递给AndroidApplication.initialize()方法之前设置.(仅对Android设备有效)
假设我们的游戏不需要加速度计和指南针,我们可以禁用这个输入设备如下:

public class MyGameActivity extends AndroidApplication {
   @Override
   public void onCreate (Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
      config.useAccelerometer = false;
      config.useCompass = false;
      initialize(new MyGame(), config);
   }
}

加速度计和指南针都默认启用。 上述代码禁用它们,因此将保留一些宝贵的电池。

在Android设备上启用陀螺仪

默认情况下,陀螺仪被禁用以节省电量,您可以按如下方式启用:

public class MyGameActivity extends AndroidApplication {
   @Override
   public void onCreate (Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
      config.useGyroscope = true;
      initialize(new MyGame(), config);
   }
}

查询可用的输入设备

要检查应用程序当前运行的平台上是否有特定的输入设备可用,可以使用Input.isPeripheralAvailable()方法进行查询。

boolean hardwareKeyboard = Gdx.input.isPeripheralAvailable(Peripheral.HardwareKeyboard);
   boolean multiTouch = Gdx.input.isPeripheralAvailable(Peripheral.MultitouchScreen);

请参阅Peripheral枚举类型,查看其余可用的常量。

请注意,只有少数Android设备有硬件键盘。 即使键盘实际存在,用户可能没有将其滑出。 在这种情况下,上面显示的方法将返回false。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,006评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • 文/张西影 无聊的工作,无味的生活,平淡而普通,缺乏了斗志,缺少了热情,在智者眼里就是一个不够勤奋努力,没有上进心...
    豫视西影阅读 345评论 1 0
  • 紫砂壶,对于大多数茶友来说,是老朋友了。尤其是紫砂壶长久使用,器身会因抚摸擦拭,变得越发光润可爱,这一特性使得很多...
    沐心壶艺阅读 305评论 0 0
  • 思考之后觉得,做70分的父母比做100分的父母更重要,给孩子空间,让他们自己去成长,学会穿衣吃饭,尿尿粑粑,学会感...
    丸子君麻麻阅读 299评论 0 0