なでしこを明後日の方向に

日本語プログラム言語なでしこを応援しています

なでしこでゲーム作る話  #1

ゲームを作るときの基本設計として、「イベントドリブン型」と「ゲームループ型」があります。
「イベントドリブン型」はGUIのイベント、クリックした時は~やキー押した時は~で進むタイプです。
「ゲームループ型」は無限ループ+待つを基本に、「キー状態」でゲームが進行するタイプです。

イベントドリブンだと操作性に難があったり、演出(ウエイト)のしにくさがネックになります。
なので「ゲームループ型」を基本にしていきます。

ゲームループの基本形

ゲームループフラグとは変数
●ゲームループ開始
 ゲームループフラグ=1
 (ゲームループフラグ==1)ループ
   操作取得()    # 1
   現在シーン更新 # 2
   現在シーン描画 # 3
   描画更新()    # 4
   0.05秒待つ    # 5

●ゲームループ停止
 ゲームループフラグ=0

・操作取得()    # 1
キー状態やマウスの情報を取得して変数に入れておきます。

・現在シーン→更新 # 2
キャラの移動など。
座標データやフラグなどを更新。
キーの状態で条件分岐するときは#1で取得した情報を参照します。

・現在シーン→描画 # 3
座標データをもとに描画。 レイヤー(可視はオフ)に描画します。

・描画更新()    # 4
レイヤーを統合して可視がオンのイメージに画像コピーします。

・0.05秒待つ    # 5
仮に0.05秒と書いてありますが、システム時間をみて微調整するといい感じになります。

GUI部品の用意を忘れてた

イメージ部品をいくつか用意しますが、キャラをイメージ部品で表示することはしません。
可視がオンの表イメージが1枚。 これが目に見える画像になります。
そのほかに、可視がオフのレイヤーを数枚、可視がオフの裏イメージを1枚、可視がオフのキャッシュを1枚。
画像コピーや画像合成で重ねていきます。

なんでキャラごとにイメージ作らないのか?とかを次回に書こうと思います。