美文网首页LibGDX
LibGDX输入模块配置和查询

LibGDX输入模块配置和查询

作者: 天神Deity | 来源:发表于2017-09-01 07:16 被阅读4次

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

    相关文章

      网友评论

        本文标题:LibGDX输入模块配置和查询

        本文链接:https://www.haomeiwen.com/subject/kblhjxtx.html