Javaゲーム作成 その1
(2009/06/19)
・最初に・・・
ゲームを作りたい場合に案外難しいコト(僕の頭の出来が悪いからですが)は、
描画する為の枠を作るコトが難しかったです。今のゲーム作成時の環境が他の
開発環境ではどうか分かりませんが、ひな形や解説が難しく、そこまでで挫折して
しまいがちです。
今回のゲーム作成はしんさんが作成したShinGL3と言うライブラリを使わせて
もらって、難しい部分を考えずにJavaで作ってみたいと思います。
タイトルは「Javaゲーム作成」となっていますが、サンプルを動作させるまでを
NetBeans6を使って解説してみたいと思います。(この解説を書いてる時点では
6.5.1と言うバージョンを使用しています)
NetBeans6のインストールは説明していませんが、NetBeans6は
JDK6とセットのバージョンをインストールすると面倒がなかったです。
・テストプログラムについて
今回のテストプログラムは、スプライトを使わない部分を作ってみます。
(ゲーム作成の第一段階として)
星を描画し、三重スクロールさせます。イメージはグラディウス1の星が
タテにスクロールする感じです。
それだけでは寂しいので、左右の矢印キーでスクロールを斜めにして
みます。
沢山文章が続くと読む気をなくすと思いますので、実際にサンプルプログラムを
動作させてみます。
・準備するプログラム
1.ShinGL3をダウンロードし、解凍しておきます。
(現在の最新バージョンは0.67です)
以後、shingl3_067と言うフォルダに解凍したファイルが保存されているとします。
2.サンプルプログラム用のアイコンをダウンロードします。(icon.png)
(右クリックで対象を保存等でダウンロードして下さい)
3.サンプルプログラムをダウンロードします。(ShinGLTest1.java)
(右クリックで対象を保存等でダウンロードして下さい)
・テストプログラムをNetBeans6で実行します。
手順1(プロジェクト登録)
1.NetBeansのメニューから[ファイル]->[新規プロジェクト]を選択すると、
新規プロジェクトウインドウが開きます。
カテゴリをJava、プロジェクトをJavaアプリケーションで選択し、【次へ】ボタンを
押します。
2.新規Javaアプリケーションウィンドウが開きます。
プロジェクト名に ShinGLTest1 と入力します。
プロジェクトの場所は、上記の様に決めても良いかと思います。
主クラスを作成 のチェックを外します。(ソースはダウンロードしたものを使用するため)
3.【完了】ボタンを押すと、プロジェクトとして登録されます。
上記のプロジェクトの場所で登録すると、
C:\Java\NB6
|
+ShinGLTest1
|
+nbproject
|
+src
|
+test
この様なフォルダで自動登録されます。
もし、これ以外のフォルダで登録された方は、それ以後の解説で
異なる部分を読み替えて下さい。
手順2(ソース・関連ファイルの登録)
1.手順1−3.で作成された“C:\Java\NB6\ShinGLTest1”フォルダに『準備するプログラム−1.』で
解凍したフォルダ”shingl3_067”にあるdllファイルをコピーします。ファイルは
gluegen-rt.dll、jogl.dll、jogl_awt.dll、jogl_cg.dll、joystick.dllの5本です。
同じく“C:\Java\NB6\ShinGLTest1”フォルダに『準備するプログラム−2.』の
アイコンをコピーします。
2.引き続き”C:\Java\NB6\ShinGLTest1”フォルダに”shingl3_067”フォルダの”lib”フォルダ
ごとコピーします。フォルダ構成は以下の様になります。
C:\Java\NB6
|
+ShinGLTest1
|
+lib
|
+nbproject
|
+src
|
+test
3.NetBeans6のプロジェクト欄のShinGLTest1を右クリックし、プロパティーを
選択します。
4.プロジェクトプロパティウィンドウが開きます。
カテゴリからライブラリを選択し、コンパイルタグを選択します。
コンパイル時のライブラリ欄に【JAR/フォルダを追加】ボタンをクリックし、
jarファイルを追加します。
jarファイルは”C:\Java\NB6\ShinGLTest1\lib”フォルダ内のファイルを
すべて選択します。上記画面の様にライブラリが追加されます。
【了解】ボタンを押すと、ライブラリ登録が終了します。
5.”C:\Java\NB6\ShinGLTest1\src”フォルダに『準備するプログラム−3.』の
ShinGLTest1.javaファイルをコピーします。
6.NetBeans6のプロジェクト上の階層を確認すると、ShinGLTest1.javaファイルが
登録されています。
7.登録は出来たので、【主プロジェクトを実行】ボタンを押します。(下記赤矢印)
8.現段階では主クラスが選択されていないので、
が表示されます。NetBeans6は賢いので、そのまま【了解】ボタンを押して下さい。
主クラスが設定されコンパイルが始まり・・・、
9.サンプルプログラムが動作します。
おぉ!動いた!!!
左右の矢印キーで星が左右方向にも移動します。
手順3(と言う程でもないですが)
1.画面は320x240で作成しています。今のパソコン環境ではかなり小さい
ウィンドウになると思います。全画面に設定してみましょう。
プログラムはESCキーで停止しますので、停止させます。
2.プログラムの修正はプロジェクトのソース名をShinGLTest1.javaをダブルクリックします。
NetBeans6の右側にソースが表示されます。
3.ソース中の下記の場所を探します。そんなに大きなプログラムではないので、
探してみてください。
// 指定したサイズでウインドウ生成 SETSCREEN( "ShinGLテスト1" , icon ,320 ,240 ); // フルスクリーンは上をコメントしてこちらを有効に //SETFULLSCREEN( "ShinGLテスト1" , icon ,320 ,240 ,320,240); |
現在はウィンドウモードになっているので、フルスクリーンモードに変更します。
変更すると、下記の様になります。
// 指定したサイズでウインドウ生成 //SETSCREEN( "ShinGLテスト1" , icon ,320 ,240 ); // フルスクリーンは上をコメントしてこちらを有効に SETFULLSCREEN( "ShinGLテスト1" , icon ,320 ,240 ,320,240); |
修正後、先程の【主プロジェクトを実行】ボタンを押すと、大きな画面で楽しむコトが
出来ます。右矢印を押して、ソーサリアンのタイトル画面とか言わない様に(w
以上で説明を終わりますが、DirectXとかを使うコトを考えると、割と簡単に
実行まで出来ると思います。かなり滑らかに動きますので、滑らかさを体感
して欲しいです。
星の数はソースの int starmax = 200; // 星の最大数 と言う部分で変更出来ます
ので、色々と試して下さい。
記述がBASIC的なのは、僕がBASICしかほとんど知らないからです(w