レクチャー2

Javaレクチャー(2)
~アニメーションとゲーム入門~
STEP1 図形の描写

JFrameを使ってウィンドウを作成



フレームに直接描写はできない
Jpanelを継承したクラスを生成し、フレームに
貼り付ける
paintComponent(Graphics g) を使用して図形
の描写を行う
STEP2 アニメーション
アニメーションを実行するには?
→連続した画面の更新が必要
→一定時間毎にrepaint();すればよい

→スレッドの制御が必要
STEP3 スレッドとは

処理の一連の流れのことをいう
今までのプログラムは
処理の流れが1本の線
で表せる、シングルス
レッドのプログラムであ
る。
STEP3 スレッドの利用

パネルにRunnableインターフェースを実装し、
アニメーション処理を行う新たなスレッドを生
成する
public MainPanel() extends JPanel
implements Runnable
{
・・・・・・・・・・・
gameLoop = new Thread(this);
gameLoop.start();
}
public void run(){
while (true){
→
・・・アニメーション処理・・・
try{
Thread.sleep(20);
}
STEP3 スレッドの流れ
メインスレッド
↓
オブジェクトを生成やデータ
の初期化
↓
スレッドの生成・Start();
↓
その他の処理(マウスイベン
トの監視とか)
↓
新たなスレッド
↓
run()メソッドの実行
(データの更新と再描画
→一定時間sleep();の
繰り返し)
課題

(1) サンプルを動かしてちゃんと理解しよう

(2)Ballクラスを作成してたくさんのボールを
動かしてみよう(跳ね返り処理欲しい)

(3)ゲームを作ってみよう
マウスでボールを避けるとか
 マウスでボールを消す時間を競うとか
 キーボードで何か操作するとか

おわり