libGDX で始めるスマホゲーム開発
  • Dec 20, 2018
  • negset

スマホ対応のゲームエンジン libGDX を簡単に紹介します。

また、PC / Android で動く libGDX プロジェクトのセットアップ方法を解説します。

libGDX の特徴

  • Java 製のゲームエンジン
    • ゲームのコードは Java または Kotlin で書けます。
  • クロスプラットフォーム
    • 同一のコードが PC (Windows, macOS, Linux) と スマホ (Android, iOS) で動作します。
    • Java で書いた場合は WebGL でも動きます。
  • オープンソース
    • GitHub でエンジンのソースコードが見れます。
  • 日本語の情報は少ない
    • 国内ではマイナー (?)

プロジェクトの作成手順

ここでは、PC および Android 用プロジェクトの作成方法を説明します。
その他のプラットフォーム用のセットアップについては、他サイトを参照してください。

事前準備

以下の環境を揃えてください。導入方法等は省略します。

  • JDK
  • Android SDK
  • IntelliJ IDEA

また、公式のセットアップツールを使用します。ホームページDownload Setup App から gdx-setup.jar をダウンロードしておいてください。

新規プロジェクトの生成

gdx-setup.jar を実行して、次のように設定してください。

項目名 概要 入力例
Name プロジェクト名 hello-libgdx
Package パッケージ名 com.example.hellolibgdx
Game class メインとなるクラスの名前 HelloLibgdx
Destination プロジェクトディレクトリのパス C:\Projects\Hello Libgdx
Android SDK Android SDK のパス C:\Android\Sdk
Sub Projects 対象プラットフォーム DesktopAndroid に✔
Extensions 使用する拡張機能 今回は使用しないので✔を外す

また今回は Kotlin を使うため、Advanced ボタンUse Kotlin に✔を入れておきます。

全ての設定を終えたら、Generate ボタン をクリックしてファイルが生成されるのを待ちます。 (初回は時間がかかる場合があります)

ディレクトリ構造

セットアップツールによって生成されるファイルのうち、主要なものを記します。

Hello Libgdx
 ├─android                     <- Android固有のファイルが入る
 │ ├─assets                    <- 画像や音などのリソースが入る
 │ │ └─badlogic.jpg
 │ └─src
 │   └─com.example.hellolibgdx
 │     └─AndroidLauncher.java  <- Android実行時の起動クラス
 ├─core                        <- プラットフォーム共通のファイルが入る
 │ └─src
 │   └─com.example.hellolibgdx
 │     └─HelloLibgdx.java      <- メインロジックを記述するクラス
 ├─desktop                     <- PC 固有のファイルが入る
 │ └─src
 │   └─com.example.hellolibgdx
 │     └─DesktopLauncher.java  <- PC 実行時の起動クラス
 └─build.gradle                <- プロジェクト全体のビルドスクリプト

ゲームのコードは基本的に core の中で書き、プラットフォーム固有の処理を実装するときのみ androiddesktop を触ります。

ゲーム上で使用する画像等のリソースを配置するディレクトリが android 内にある点に注意してください。

IntelliJ IDEA によるインポートと設定

IntelliJ IDEA を起動し、Welcome 画面から Import Project を押下してください。

インポート元選択画面で、プロジェクトディレクトリの直下にある build.gradle を選択し、インポートしてください。

続いて、実行環境の設定を行います。 上部メニューから RunEdit Configurations…+ で次の 2 つを追加してください。(パッケージ名やパスは適宜差し替えてください)

  • Application (PC 用)

    項目名 入力例
    Name Desktop
    Main Class com.example.hellolibgdx.desktop.DesktopLauncher
    Working Directory C:\Projects\Hello Libgdx\android\assets
    Use classpath of module desktop
  • Android App (Android 用)

    項目名 入力例
    Name Android
    Module android
Desktop
Android

それぞれ実行して、次のような画面が表示されれば OK です。

Hello libGDX!

Java → Kotlin の変換

初期状態ではコードが Java になっているため、これを Kotlin に置き換えます。

IntelliJ IDEA の HelloLibgdx.java 編集画面にて、Ctrl + Shift + Alt + K を叩きましょう。 すると IntelliJ が自動で Kotlin に変換してくれる… のですが、そのままではコンパイルエラーになります。

プロパティを以下のように書き換えて、修正してください。

class HelloLibgdx : ApplicationAdapter()
{
    // internal -> private lateinit
    private lateinit var batch: SpriteBatch
    private lateinit var img: Texture

    /* 省略 */
}

また、AndroidLauncher.javaDesktopLauncher.java も同様に Kotlin に変換することができます。(これらは自動変換がうまく動作します)

完了

以上で新規プロジェクトのセットアップは完了です。

少々手間はかかりますが、慣れればそう面倒ではないと思います。

まとめ

クロスプラットフォーム & Kotlin 対応な libGDX、個人的にとてもおすすめなので、ぜひ使ってみてください。

付録

libGDX 入門に最適なサイト

@shinsan68k さんの Qiita 記事 が非常に参考になります。ぜひ参照してください。

IntelliJ IDEA で実行できない場合の対処法

私の環境では、稀に IntelliJ での実行が上手くいかなくなる場合があります。

原因は不明ですが、以下の手法にて改善する (ことが多い) ので、同じ現象に出くわした場合はお試しください。

  • /android/build.gradleeclipse {~} をコメントアウトする
Ad