サイトのトップへ戻る

libGDX ドキュメント 日本語訳

サイト内検索

各モジュールの概要



はじめに

LibGDX では、典型的なゲームアーキテクチャの各手順を処理する様々なモジュールが用意されています。

  • Input - 全てのプラットフォーム用に統一された入力モデルとハンドラを使用できます。 キーボード、タッチスクリーン、加速度センサー、マウスの使用をサポートしています。
  • Graphics* - OpenGL ES 実装が提供するハードウェアを使って、画面に画像を描写できるようにします。
  • Files - メディアを問わずに読み込み/書き込み操作をするための便利なメソッドを提供することで、全てのプラットフォーム上でのファイルアクセスを抽象化します。
  • Audio - 全てのプラットフォーム上での音声の録音と再生をサポートします。
  • Networking - 簡単なHTTP get/post リクエストとTCP サーバ/クライアント ソケット通信のような、ネットワーク操作を行うためのメソッドが使用できます。

以下の図は簡単なゲームアーキテクチャ上でのモジュールを示します:

以降のパートでは、最も一般的に使用例を用いて各モジュールについて簡単に説明します。



モジュール



Input

Input モジュールは、全てのプラットフォーム上での異なる入力状態のポーリングができるようにします。 各入力キー、タッチスクリーン、加速度センサーのポーリングができます。 デスクトップではタッチスクリーンはマウスに置き換えられ、加速度センサーは使用できません。

また、入力プロセッサを登録して入力モデルに基づいたイベントを使用できるようにします。

以下のコードでは、タッチイベント(デスクトップの場合はマウスダウンイベント)が発生した場合に現在のタッチ座標を取得します:

if (Gdx.input.isTouched()) {
  System.out.println("Input occurred at x=" + Gdx.input.getX() + ", y=" + Gdx.input.getY()); 
}

同じような方法で、サポートしている全ての入力手段に対してポーリングや制御を行うことができます。



Graphics

Graphics モジュールはGPUとの通信を抽象化し、OpenGL ES ラッパのインスタンスを取得するための便利なメソッドが使用できます。 これはOpenGL のインスタンスを取得するのに必要な提携コードを全て網羅し、作成者によって提供されている全ての実装を制御します。

基盤ハードウェアによってはこのモジュールは使用できないことがあります。

Graphics モジュールでは、 Pixmaps と Texturesを生成するメソッドも使用できます。

例えば、 OpenGL API 2.0 インスタンスを取得するには以下のコードを使用します。:

GL20 gl = Gdx.graphics.getGL20 ();

このメソッドは画面描写に使用できるインスタンスを戻り値として返します。ハードウェア構成が OpenGL ES v2.0をサポートしていない場合、 null が返ります。

以下のコードでは画面をクリアして赤で塗りつぶしています。

gl.glClearColor(1f, 0.0f, 0.0f, 1);
gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

常にAPIの固有実装(lwjglや jogl や android)を戻り値として返すので、メインアプリケーションではその詳細を知っている必要がなく、サポートしている全てのプラットフォーム間にわたって動作します。

以下のAPI バージョンがサポートされています:

GL バージョン アクセス用メソッド
2.0 Gdx.graphics.getGL20();
3.0 Gdx.graphics.getGL30();

Graphics モジュールの詳細について知りたい場合は、 ここのドキュメントを確認してください。



Files

Filesモジュールでは、プラットフォームに関係なくファイルにアクセスする汎用的な方法が使用できます。 これを使えばファイルの読み込み書き込みが簡単にできます。プラットフォームのセキュリティ制限のために、ファイル書き込みにはいくつかの制限があります。

Files モジュールの最も一般的な使用法は、各プラットフォームごとのアプリケーション同一サブディレクトリからゲーム素材 (テクスチャファイルや音声ファイル)を読み込むことです。 ファイルにハイスコアやゲーム状態を書き込み場合にも非常に便利です。

以下の例では $APP_DIR/assets/textures ディレクトリにあるファイルからテクスチャを作成しています。

Texture myTexture = new Texture(Gdx.files.internal(“assets/texture/brick.png”));

これはAndroidとデスクトップの両方で動作するので、非常に強力な抽象化レイヤーです。



Audio

Audio モジュールを使用すると、音声ファイルの作成と再生がとても簡単になります。 また、サウンドハードウェアへの直接アクセスも行えます。

このモジュールでは二つのタイプの音声ファイルを制御します。 MusicSoundです。両方とも WAV, MP3 , OGG の形式をサポートしています。

Sound インスタンスはメモリに読み込まれ、いつでも再生できます。これは爆発や銃声などのようにゲーム内で複数回使用される効果音に最適です。

一方Music インスタンスはディスク (またはSD カード)からファイルへストリーミング再生されます。ファイルが再生される度に、Music インスタンスはファイルからオーディオデバイスに送られます。

以下のコードでは、音声ファイルmyMusicFile.mp3を半分の音量で繰り返しディスクから再生しています:

Music music = Gdx.audio.newMusic(Gdx.files.getFileHandle("data/myMusicFile.mp3", FileType.Internal));
music.setVolume(0.5f);
music.play();
music.setLooping(true);


Net

未定

前へ | 次へ




エンジェル戦記