背景表示
GBMBでゲーム背景を作成したら次にゲームボーイ画面上にその背景を表示させてみます。
背景を表示させるためには、「背景用タイルパターン作成」で作成したタイルパターンファイル(Cファイル)と、「ゲーム背景作成」で作成したタイルマップファイル(Cファイル)を用意する必要があります。
それらのファイルと同じフォルダに、ソースファイルを作成してください。
#include<stdio.h>
#include<gb.h>
#include"tiles.c"
#include"map.c"
void main(){
set_bkg_data(0, 4, TileLabel); /* タイルデータを背景用として設定する */
set_bkg_tiles(0, 0, 20, 18, Map); /* マップデータを設定する */
SHOW_BKG; /* 背景表示 */
}
【実行画面】
今回サンプルとして作成した背景は牧場(のつもり)です。
では、ソースコードを見ていきます。
まずは、作成したタイルデータが入ったファイル(tiles.c)と、背景のデータが入ったファイル(map.c)をインクルードします。
set_bkg_data関数
void set_bkg_data(UBYTE first_tile, UBYTE nb_tiles, unsigned char *data);
set_bkg_data関数により指定したタイルパターンデータは背景用のタイルパターンとして設定されます。
ここでの設定は次の、set_bkg_tiles関数とつながります。
引数には、一番初めのタイル番号、タイル数、タイルデータのラベルを指定します。
set_bkg_tiles関数
void set_bkg_tiles(UBYTE x, UBYTE y, UBYTE w, UBYTE h, unsigned char *tiles);
set_bkg_tiles関数により、GBMBで作成したタイルの配列(並び順)どおりに背景を設定します。
引数には、一番左側のタイルX座標、Y座標と、横のタイル数、縦のタイル数、最後にラベルを指定します。
背景表示
SHOW_BKG;
背景を表示させます。
|