サイトのトップへ戻る

libGDX ドキュメント 日本語訳

サイト内検索

入力処理

プラットフォームが変われば入力機能も変わります。デスクトップ環境では、ユーザーはキーボードとマウスを使ってアプリケーションとやり取りします。 ブラウザベースのゲームについても同様です。 Android環境では、マウスの代わりに(表面型の)タッチスクリーンが使用され、多くの場合ハードウェアキーボードはありません。 また全てのAndroid(互換)端末では、加速度計と場合によってはコンパス(磁界センサー)の機能もあります。

Libgdx はこれら異なる入力デバイスを全て抽象化します。 マウスとタッチスクリーンは同じものとして扱われます。マウスではマルチタッチはサポートされておらず(一つ"指"での操作情報のみを通知します)、タッチスクリーンではマウスボタンはサポートされていません("左ボタン"が押された操作のみを通知します)。

入力デバイスによっては、定期的にデバイスの状態をポーリングしたり、入力イベントを時系列順に取得するリスナーを登録したりできます。 例えばアナログスティックを使って操作するような、多くのアーケードゲームの場合は前者のやり方で十分でしょう。 ボタンのようなUI要素が実装されている場合は、後者のやり方が必要です。ボタンなどによる操作は、タッチダウン/タッチアップのようなイベントシーケンスに依存しているからです。

入力機能は全て、 Inputモジュール経由でアクセスします。

   // Check if the A key is pressed
   boolean isPressed = Gdx.input.isKeyPressed(Keys.A);

次へ