Javaによるゲーム解説  (C)1999-2004 S.Kitade


  ・・・ 只今作成中です。 8章一部修正(2004.05.20) ・・・


Javaの開発環境はSunのサイトからダウンロードできます。
通常の開発に使うJ2SEはここですね。ドキュメントはここあたり。

3Dについてはこちら、midiについてはこちらをご覧ください。
J2EEのサーブレットについてはこちらで多少解説しています。

リンクは大歓迎ですが、内容の無断転載はご遠慮ください。


 目次
0.環境設定、コンパイルの方法、HTMLの記述  〜はじめに〜

1.画像表示アプレット  〜基本構造〜

2.アニメーションアプレット  〜メインループはここ〜

3.ゲームフレームワーク  〜ユーザーの入力に対応する〜

4.オブジェクト指向概説  〜カプセル化と継承〜

5.たくさん同時に表示するには  〜要素を管理する〜

6.グローバル変数が無い?  〜ワールドクラス作成〜

7.大規模化への布石  〜アプリケーションを設計する〜

8.オープニングからエンディングまで  〜場面を管理する〜

 戻る




0.環境設定、コンパイルの方法、HTMLの記述  〜はじめに〜

 基本的に、J2SEのインストーラーを実行すればOKです。
javacコマンドが見つからない場合は、pathにjavac等があるディレクトリ(例えばC:\j2sdk1.4.1_01\bin)を追加すれば大丈夫だと思います。

コンパイルするには、例えば mySample.javaファイルがあるディレクトリのコマンドラインで、
javac mySample.java
とすればコンパイル出来るはず。うまくいけば、mySample.classが生成されます。
バッチファイルを作ればもっと便利です。
例えば、mySample.batというファイルを作り、その中身に
javac mySample.java
とだけ書いておけばいいのです。
そしてこのバッチファイルをダブルクリックすればコンパイルできるわけです。

makeと同じような機能のあるantについては・・・不勉強のため割愛します(汗

Java用のFreeの統合開発環境としては、Borlandの「J Builder Personal」や、eclipse.orgの「Eclipse」があります。
これまでの説明がピンとこない方はそちらを利用するほうが近道かもしれませんね。


では次は、html側の記述について説明します。

アプレットを置いておくには、アプレットタグを使います。
<APPLET CODE=mySample.class WIDTH=100 HEIGHT=100>
</APPLET>

CODEのところにコンパイルしたアプレットのクラスファイルを指定して下さい。相対パス指定も出来ます。




1.画像表示アプレット  〜基本構造〜



☆まずは文字を表示するだけの簡単なアプレットです。

//List of tuto01_1.java

import java.awt.*;
import java.applet.*;

public class tuto01_1 extends Applet{

public void paint(Graphics g){ //描画、再描画要求に応えるメソッド
 g.drawString("Applet running!", 20, 30); //文字列表示
}

}
// End of tuto01_1.java

実際に見てみる





☆次はとにかく画像を表示するアプレット。

//List of tuto01_3_0.java

import java.awt.*;
import java.net.*;
import java.applet.*;

public class tuto01_3_0 extends Applet{
 Image image01;

public void init(){
 URL imageSource;
 imageSource = getDocumentBase(); //アプレットをダウンロードしたURL取得
 image01 = getImage(imageSource,"tuto01_3.gif"); //イメージのダウンロードをリクエスト
//この関数(メソッド)は、実際のダウンロードを待ちません。
//画像のダウンロードを待つ方法は次のサンプルで説明します。
}

public void paint(Graphics g){
 g.drawImage(image01, 30, 30, this); //x=30, y=30 の位置に表示
}

}
// End of tuto01_3_0.java



実際に見てみる





☆画像のダウンロードをinitメソッド内で待つ。

//List of tuto01_4_0.java

import java.awt.*;
import java.awt.*;
import java.net.*;
import java.applet.*;

public class tuto01_4_0 extends Applet{
 Image image01;
 MediaTracker tracker; // MediaTrackerを利用する

public void init(){
 URL imageSource;
 imageSource = getDocumentBase();
 tracker = new MediaTracker(this);
 try {
  image01 = getImage(imageSource, "tuto01_4.gif");
  tracker.addImage(image01,0);
 }
 catch (Exception e) {
  System.out.println("IMAGE READ ERROR : this.getImage");
  return;
 }
 showStatus("Loading..."); // ブラウザのステータスバーに文字列を出力
 try {
  tracker.waitForID(0); // ここでダウンロードを待つ
 }
 catch (InterruptedException e) {
  System.out.println("IMAGE READ ERROR : tracker.waitForID");
  return;
 }
 showStatus("Completed.");
}

public void paint(Graphics g){
 g.drawImage(image01, 0, 0, this);
}

} // End of tuto01_4_0



実際に見てみる









ファミコン基礎科学研究所