2013/06/14

スプライトを表示してみよう(2)

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

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

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

// タイルデータ
#include "testtile.c"

void main()
{
 DISPLAY_OFF;// 画面全体を非表示
 HIDE_SPRITES;// スプライトを非表示 

 SPRITES_8x8;// スプライトモードを8*8に設定
 set_sprite_data(0, 4, TestTileLabel); // タイルデータをスプライトとして設定(0番から4つ)

 set_sprite_tile( 0, 0);// スプライト0番にタイル0番を設定
 move_sprite( 0, 0, 0);//スプライト0番の座標を(0,0)に設定

 SHOW_SPRITES;// スプライトを表示 
 DISPLAY_ON;// 画面全体を表示
}

やっている事はコメントに書いてある通りです。
では、コンパイルしてみましょう。

コマンドプロンプトを開いて、以下のように入力します。
lcc -o Test1.gb Test1.c
すると「Test1.gb」が生成されますので、エミュレータで起動します。

しかし、何も表示されません。
表示座標をいじってみたところ
move_sprite( 0, 8, 16);//スプライト0番の座標を(8,16)に設定
これで左上に表示されました。
ちなみに、
SPRITES_8x16;// スプライトモードを8*16に設定
にすると、以下のようになります。
タイル0番と1番が上下に繋がって表示されます。

スプライトは画面の左上の座標が(8, 16)ということを覚えておきましょう。

0 件のコメント:

コメントを投稿