サイトのトップへ戻る

libGDX ドキュメント 日本語訳

サイト内検索

入力デバイスへの設定と照会

時には、どういった入力デバイスがサポートされているかを知る必要があります。 また作成しているゲームで、サポートされている入力デバイス全てが必要という訳ではない場合もあります。例えば、加速度センサーやコンパスは必要ないかもしれません。 Androidのバッテリを節約する場合にはこれらの機能を無効にすると良いでしょう。 以降の項目では、こうした設定を行う方法を説明します。



加速度センサーとコンパスを無効にする (Android のみ)

入力デバイスの設定は、現時点ではAndroid環境でのみ有効です。 AndroidApplicationConfigurationクラスを引数として AndroidApplication.initialize()へ渡す前に、二つのpublic フィールドを設定します。

あなたのゲームに加速度センサーとコンパスが必要でない場合は、以下のようにして該当の入力デバイスを無効にできます:

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を戻り値として返します。