2019/03/06

ウインドウ面を使ったゲームを作ってみよう(2)

せっかくなのでカラー対応してみました。

ソース一式はここからダウンロードできます。
gbファイルはここから。

各ファイルの説明は以下の通りです。
make.bat        コンパイル用バッチ
BlackyBirdCol.c メインプログラム
snd_drv.c       サウンドドライバ
snd_drv.h       サウンドドライバ用ヘッダ
snd_data.c      サウンドデータ
bird_bg.c       BG画像データ
bird_spr.c      スプライト画像データ
bird_cloud.c    BG画像データ(雲アニメ用)※今回は実質未使用です

前回、背景の雲の画像をスクロールに合わせて転送して
疑似2重スクロールを行っていましたが、処理が重いので止めました。

カラー化にあたり、いくつか説明します。

set_bkg_palette関数やset_sprite_palette関数を使ってカラーデータを転送します。
画面のフェードを行う際に、フェード段階に合わせたカラーデータを用意しました。
最初はカラーデータを元に計算していましたが、処理が重すぎたので諦めました。

背景のパレット情報はタイルデータと同じようにset_bkg_tiles関数を使って設定します。
set_bkg_tiles関数などタイルデータを設定する関数を実行する前に
VBK_REG = 1 を行うとタイルの代わりにカラーデータを設定してくれます。
終わったらVBK_REG = 0 に戻しておきましょう。

あと、コンパイルのオプションが増えています。

分からない事がありましたら質問して下さい。

3 件のコメント:

  1. このコメントは投稿者によって削除されました。

    返信削除
    返信
    1. わあ!カラー対応のゲーム・プログラム製作ありがとうございます!
      綺麗だ...

      削除
    2. どういたしまして。
      SGBは情報が無くてよく分かりませんでした、

      削除