アルファベット表示
ゲームボーイ画面上に文字を表示させてみます。
#include <stdio.h>
void main( )
{
UBYTE i;
for(i=0; i < 255; i++){
printf("%c", i); /* 文字を表示 */
}
}
【実行結果】
上記サンプルでは一文字ずつ順番に表示させています。
文字コードは1バイト(UBYTE型)、つまり0〜255の数値で表わされます。
また、printf関数により文字が画面左上から順番に表示していることにも着目してください。
何度printf関数を呼び出しても次の出力位置は前回の位置関係を引き継いでいます。
文字を表示させる手段として、上記サンプルではprintf関数を用いていますが、setchar関数を用いても同じ結果となります。
setchar関数の方が処理が軽くなっているため、使用用途によって、両関数を使い分けると良いです。
次は文字列を表示させているサンプルについて見ていきます。
今回は文字の出力開始位置も指定しています。
#include <stdio.h>
#include <gb.h>
void main( )
{
cls( );
printf(" ");
gotoxy(2, 6); /* 文字列の出力開始位置を指定 */
printf("ABCDEFG\n");
printf("HIJKLMNOPQ\n\n\n");
printf("RSTUVWXYZ\n");
}
【実行結果】
gotoxy関数
void gotoxy(UBYTE x, UBYTE y);
gotoxy関数はprintf関数によって文字列を表示させる開始位置を指定します。
引数では出力開始X座標、Y座標を指定します。
すでにお気づきだと思いますが、文字コードが1バイトで管理されている以上、管理できる文字数制限により、日本語が表現できません。
しかし、表現させたい日本語を自分で作ってしまえば、ゲームボーイ画面上に日本語を表示させることができます。
その方法については別のページで取り上げます。
|