2013/06/17

BGを表示してみよう(2)

では、先ほどのタイルデータとマップデータをプログラムに組み込みます。

その前に、プログラムのソースファイルを作ります。
今回は「Test4.c」としましょう。
先ほど生成された「IceBkg.c」「IceBkgMap.c」も同じ場所に置いて下さい。

Test4.c
#include <stdio.h>
#include <gb.h>

// タイルデータ
#include "IceBkg.c"
// マップデータ
#include "IceBkgMap.c"

void main()
{
 DISPLAY_OFF;// 画面全体を非表示
 HIDE_BKG;// BGを非表示

 set_bkg_data(0, 6, IceBkgTileLabel); // タイルデータをBGとして設定

 set_bkg_tiles(0, 0, 20, 32, IceBkgMapLabel);   // マップデータを設定する

 SHOW_BKG;// BGを表示
 DISPLAY_ON;// 画面全体を表示
}

やっている事はコメントの通りです。
いつものようにTest4.cをコンパイルし、エミュレータで実行して下さい。


こんな画面が表示されました。
GBMBで作成したマップデータと同じように表示されています。

マップデータの設定はここで行なっています。
set_bkg_tiles(0, 0, 20, 32, IceBkgMapLabel);   // マップデータを設定する
ゲームボーイのBG面は画面外を含めて256×256ドットありますので
8×8ドットのタイル数では32×32タイルとなります。
ゲームボーイの画面サイズは160×144ドットですので
8×8ドットのタイル数では20×19タイルとなります。

set_bkg_tilesの引数は(セット開始X座標、セット開始Y座標、セット幅、セット高さ)※単位はタイル数
となります。この場合は、横には画面いっぱい、縦には画面外全体へセットしています。

0 件のコメント:

コメントを投稿