スマホ対応のゲームエンジン 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 | 対象プラットフォーム | Desktop と Android に✔ |
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
の中で書き、プラットフォーム固有の処理を実装するときのみ android
や desktop
を触ります。
ゲーム上で使用する画像等のリソースを配置するディレクトリが android
内にある点に注意してください。
IntelliJ IDEA によるインポートと設定
IntelliJ IDEA を起動し、Welcome 画面から Import Project
を押下してください。
インポート元選択画面で、プロジェクトディレクトリの直下にある build.gradle
を選択し、インポートしてください。
続いて、実行環境の設定を行います。
上部メニューから Run
→ Edit 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
それぞれ実行して、次のような画面が表示されれば OK です。
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.java
や DesktopLauncher.java
も同様に Kotlin に変換することができます。(これらは自動変換がうまく動作します)
完了
以上で新規プロジェクトのセットアップは完了です。
少々手間はかかりますが、慣れればそう面倒ではないと思います。
まとめ
クロスプラットフォーム & Kotlin 対応な libGDX、個人的にとてもおすすめなので、ぜひ使ってみてください。
付録
libGDX 入門に最適なサイト
@shinsan68k さんの Qiita 記事 が非常に参考になります。ぜひ参照してください。
IntelliJ IDEA で実行できない場合の対処法
私の環境では、稀に IntelliJ での実行が上手くいかなくなる場合があります。
原因は不明ですが、以下の手法にて改善する (ことが多い) ので、同じ現象に出くわした場合はお試しください。
/android/build.gradle
のeclipse {~}
をコメントアウトする