kinugasa.game

## クラス KinugasaGame

- java.lang.Object
- - kinugasa.game.Game
  - - kinugasa.game.KinugasaGame

- すべての実装されたインタフェース:
    Nameable

      public abstract class KinugasaGame
      extends Game

  衣笠ゲームフレームワークの核となるゲームクラスの基本の実装です.
  衣笠フレームワークを使用してゲームを構築するには、このクラスを継承したゲームクラスを用意します。

- - ### フィールドのサマリー

    - ### クラスから継承されたフィールド kinugasa.game.Game

      `name`

  - ### コンストラクタのサマリー

    コンストラクタ
    修飾子 | コンストラクタと説明
    --- | ---
    `protected` | `KinugasaGame(GameConfig conf)` ゲームを作成します.このコンストラクタを呼び出しただけでは、ゲームは起動しません.
    `` | `KinugasaGame(java.lang.String name)` 簡易コンストラクタです.

  - ### メソッドのサマリー

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    修飾子とタイプ | メソッドと説明
    --- | ---
    `protected abstract void` | `dispose()` ゲームの終了前処理を定義します.
    `protected abstract void` | `draw(java.awt.Graphics2D g)` ゲームの再描画を行うメソッドです.
    `void` | `gameExit()` このメソッドを呼び出すことで、ゲームを終了します.
    `protected void` | `gameStart(java.lang.String[] args)` このメソッドを呼び出すことで、ゲームを起動します.
    `GameTimeManager` | `getGameTimeManager()` ゲームの時間管理クラスを取得します.
    `GameWindow` | `getWindow()` ゲームのGUI設定を取得します.
    `static void` | `main(java.lang.String[] args)` バージョン情報を出力します.
    `protected abstract void` | `startUp()` ゲームの初期化処理を定義します.
    `java.lang.String` | `toString()`
    `protected abstract void` | `update()` ゲームの更新処理を定義します.

    - ### クラスから継承されたメソッド kinugasa.game.Game

      `getName`

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### KinugasaGame

          protected KinugasaGame(GameConfig conf)

      ゲームを作成します.このコンストラクタを呼び出しただけでは、ゲームは起動しません.
      ただし、ロックファイルは生成されます。（ロック機能を使用する場合）
      ロックファイルを使用する場合のみ、ロックファイルの有無が検査され、 すでにロックファイルが存在している場合は例外を発生します。
      多重起動を検地するには「AlreadyExecutedException」をキャッチしてください。
      パラメータ:
        `conf` - ゲームの設定を送信します。ウインドウのサイズやFPSの設定が含まれます。

    - #### KinugasaGame

          public KinugasaGame(java.lang.String name)

      簡易コンストラクタです. ウインドウサイズや背景色はstartUpメソッドで設定する必要があります。
      パラメータ:
        `name` - ゲームウインドウのタイトルとなる文字列です。ゲームの名前としても設定されます。

  - ### メソッドの詳細

    - #### gameStart

          protected final void gameStart(java.lang.String[] args)
                                  throws java.lang.IllegalStateException

      クラスからコピーされた説明: `Game`
      このメソッドを呼び出すことで、ゲームを起動します. このメソッドは、ゲームの起動時に1度だけコールするようにしてください。
      通常は、メインメソッドで必要なシステムプロパティを設定した後、ゲームクラスの 作成に続いてこのメソッドを呼び出します。
      GUIやフィールドの初期化後、ループを起動してください。ループがstartUp()を呼び出すため、
      startUp()を明示的に呼び出す必要はありません。
      定義:
        `gameStart` クラス内 `Game`
      パラメータ:
        `args` - コマンドライン引数を指定します。
        この値はCMDArgsクラスに登録されます。
      例外:
        `java.lang.IllegalStateException` - ゲームがすでに起動している場合に投げられます。

    - #### gameExit

          public final void gameExit()
                              throws java.lang.IllegalStateException

      クラスからコピーされた説明: `Game`
      このメソッドを呼び出すことで、ゲームを終了します. ウインドウのクローズイベントやゲーム中のイベントとして このメソッドをコールすることができます。
      このメソッドはdispose()を起動したあと、アプリケーションを終了させます。
      定義:
        `gameExit` クラス内 `Game`
      例外:
        `java.lang.IllegalStateException` - ゲームがすでに起動している場合に投げられます。

    - #### startUp

          protected abstract void startUp()

      クラスからコピーされた説明: `Game`
      ゲームの初期化処理を定義します. このメソッドは、ゲームの起動時（gameStartをコールした後）に必ず1度だけ実行されます。
      コンテンツのロードやフィールドの初期化処理を定義してください。
      定義:
        `startUp` クラス内 `Game`

    - #### dispose

          protected abstract void dispose()

      クラスからコピーされた説明: `Game`
      ゲームの終了前処理を定義します. このメソッドは、ウインドウを閉じたり、ゲーム中のイベントによってgameExit()が呼ばれた場合に 1度だけ実行されます。コンテンツの解放や途中経過の保存を定義してください。
      定義:
        `dispose` クラス内 `Game`

    - #### update

          protected abstract void update()

      クラスからコピーされた説明: `Game`
      ゲームの更新処理を定義します. このメソッドは、ゲーム実行中のdraw(Graphics2D)がコールされる前に毎回呼ばれます。
      ワールドの更新や座標の変更処理を定義してください。
      定義:
        `update` クラス内 `Game`

    - #### draw

          protected abstract void draw(java.awt.Graphics2D g)

      クラスからコピーされた説明: `Game`
      ゲームの再描画を行うメソッドです. このメソッドは、repaint()メソッドから呼ばれます。このメソッドは、実装によっては 1フレーム中に何度もコールされることがあります。
      定義:
        `draw` クラス内 `Game`
      パラメータ:
        `g` - 書き込むグラフィックスコンテキスト.

    - #### getWindow

          public final GameWindow getWindow()

      クラスからコピーされた説明: `Game`
      ゲームのGUI設定を取得します. このメソッドによって返されるWindowインスタンスに操作を行うことで、 ウインドウの状態を変更することができます。
      定義:
        `getWindow` クラス内 `Game`
      戻り値:
        このゲームで使用されているWindowの実装が返されます.

    - #### getGameTimeManager

          public final GameTimeManager getGameTimeManager()

      クラスからコピーされた説明: `Game`
      ゲームの時間管理クラスを取得します. このメソッドによって返されるGameTimeManagerに操作を行うことで FPSの変更や経過時間の取得ができます。
      定義:
        `getGameTimeManager` クラス内 `Game`
      戻り値:
        このゲームで使用されているGameTimeManagerが返されます.

    - #### toString

          public java.lang.String toString()

      オーバーライド:
        `toString` クラス内 `Game`

    - #### main

          public static void main(java.lang.String[] args)

      バージョン情報を出力します.
      パラメータ:
        `args` - コマンドライン引数は無視されます。