イントロダクション
マインクラフトはJavaで出来ていることは多くの人が知っているかと思います。
実際にどんな風に作ってるの?という部分に足を踏み入れたいと思います。
LWJGLを学ぶ
GitからLWJGLのチュートリアルをクローン(ダウンロード)
上記のドキュメントのリポジトリにある1章(Chapter01)を参照すれば、サンプルを起動する方法がわかりす。筆者はMavenを使用して行いました。
詳細は、LWJGLの学習履歴をご覧ください。
LWJGLとは
マインクラフトよろしく、下のような3Dオブジェクトを表示したり、操作したりすることができる。いわゆるフレームワークです。
使用しているテクノロジーとしては、OpenGL、OpenALなどいろいろあります。ちょっと難しい感じの内容がありますが、表面部分であればそこまで難しくありませんでした。※サンプルを実行するだけですが。。。
下のような感じで操作ができます。その仕組みを学ぼうというところがこちらの記事にあります。
以下、古い情報です。
参考サイト: LWJGL3
上記のサイトを参考に写経しました。ソースはここからダウンロードできます。
※参考サイトからコピペもできます。初めのrun()のみ抜粋
TODOコメントをつけておくとIDE(Eclipseなど)でタスクの一覧を取得して
「あ〜直しておかないとな....」と気がつくことができる
/** * 初期化処理<BR> * ※間はよくわからなかったので TODOコメントをつけております。 * エラー時のコールバックのデフォルト設定<BR> * GLFWの終了処理設定と自由呼び出しのコールバック関数指定 */ public void run() { System.out.println("LWJGJL Version = " + Version.getVersion()); // 初期化処理 init(); // TODO-[よくわかりませんでした。] loop(); // TODO-[よくわかりませんでした。] // Free the window callbacks and destroy the window glfwFreeCallbacks(window); glfwDestroyWindow(window); // Terminate GLFW and free the error callback glfwTerminate(); glfwSetErrorCallback(null).free(); }
とりあえず、参考サイトから写経しました。
実行結果は以下の通りです。
←バージョン名を表示しています。
とりあえずで表示しただけなので「おお〜起動したよ」ということ
以外に何もありませんが、まぁここから戦いの始まりということです(笑)
<JavaDoc:クラス(メソッド)の使い方が書いてあります>
ここのURLから参照できます。
<Wiki: ここにポイントとか色々と書いてあります>
WikiのURLはこちら
<DEMO: デモンストレーション>
Gitからソースをダウンロードしてビルド、Jarファイルを作成して実行
<その他: 実装中に困ったときに助かります。>
Memory FAQ, Bindings FAQ, Troubleshooting
参考にしたチュートリアルへ
関連ページ一覧
Eclipse セットアップ
- Java Install Eclipse〜開発ツールのインストール〜
- TensorFlow C++環境〜EclipseにCDTをインストール〜
- Setup OpenGL with Java〜JOGLを使う準備 for Eclipse〜
- Eclipse Meven 開発手順〜プロジェクトの作成〜
- Java OpenCV 環境セットアップ(on Mac)
- Eclipse SceneBuilderを追加する
- JavaFX SceneBuilder 〜EclipseとSceneBuilder連携~
Java Basic一覧
- Java Basic Level 1 〜Hello Java〜
- Java Basic Level2 〜Arithmetic Calculate〜
- Java Basic Level3 〜About String class〜
- Java Basic Level 4〜Boolean〜
- Java Basic Level 5〜If Statement〜
- Java Basic Summary from Level1 to 5
- Java Basic Level 6 〜Traning of If statement〜
- Java Basic Level8 〜How to use for statement〜
- Java Basic Level 8.5 〜Array〜
- Java Basic Level 9〜Training of for statement〜
- Java Basic Level 10 〜While statement 〜
- Java Basic Swing〜オブジェクト指向〜
- Java Basic Swing Level 2〜オブジェクト指向2〜
- サンプル実装〜コンソールゲーム〜
- Java Basic インターフェース・抽象クラスの作り方
- Java Basic クラスとは〜Step2_1〜
- Java Basic JUnit 〜テストスイートの作り方〜
Git関連
- Java Git clone in Eclipse 〜サンプルの取得〜
- Eclipse Gitリポジトリの取得 〜GitからソースをPullしよう〜
- IntelliJ IDEA Git〜Gitリポジトリからクローン〜