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。