WonderWitchでプログラム〜白黒スプライトの表示〜


目次に戻る


今週は休暇のためWonderWitchにかなりさわれるので、1週間WonderWitchプログラムを紹介していきたいと思います。とりあえずは、「HelloWorld」から・・・・・と言いたいのだけれども、これだけじゃおもしろくないのでスプライトの表示をしたいと思います。
 
 
# makefile  メイクファイル
# makefile for sprite_0
#

include ../makefile.inc

all: spr_0.fx

spr_0.fx: main.fx
 copy main.fx spr_0.fx
main.fx: main.bin
main.bin: main.obj
main.obj: main.c

main.cf  cfファイル
name: sprite_0
info: スプライト表示
mode: 7
source: main.bin
output: main.fx
/* main.c  Cソースファイル */
#include <sys\bios.h>
/*#include "chara.h" */ /* スプライト用のデータ(bmp_hito)が定義されている。 */
/* chara.hの中身ここから */
#define hito_width 1
#define hito_height 1
unsigned char bmp_hito[] = { 0x66, 0xA5, 0xDB, 0xE7, 0xE7, 0xDB, 0xBD, 0x7E, 

};
/* chara.hの中身ここまで */

void main(int argc, char *argv[])
{
    text_set_screen(SCREEN1); /*画面をクリアするための手順*/
 
    sprite_set_range(0,1); /* 使用するスプライトの数を設定 */
    display_control( DCM_SCR1 | DCM_SPR ); /*ディスプレイの設定。SCREEN1を使用し、スプライトを使用する。*/
 
    text_screen_init(); /* 画面をクリアするための手順 */
 
    font_set_monodata( 0 , 1 , bmp_hito ); /*bmp_hito配列をキャラクタとして登録 */
    sprite_set_char( 0 , 0 ); /*キャラクタをスプライトとして登録*/
 
    sprite_set_location( 0 , 10, 10 ); /*スプライト0の表示位置を(10,10)に設定*/
 
    key_wait();    /*何かキーを押すまでここで待つ */
}


これで、スプライトの表示ができます。注意点は、text_set_screen関数とtext_screen_init()関数が手抜きだということ。本当なら、ちゃんと背景用のキャラクタを用意し画面に敷き詰めるべきなのですが、面倒くさかったのでテキスト画面を使うという方法をとりました。次からは手を抜かないようにします。


目次に戻る