LibGDX

LibGDX输入模块配置和查询

2017-09-01  本文已影响4人  天神Deity

有时需要知道目标平台支持哪些输入设备。 通常情况下,您的游戏不需要所有支持的输入设备。 您可能不需要加速度计或指南针。 在这种情况下禁用这些输入设备是保持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。

上一篇下一篇

猜你喜欢

热点阅读