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






ホームページへ戻る