GBDK を使用して独自のゲーム ボーイ ゲームを作成しようとしていますが、完全な障害があります。
タイルは 8x8 または 8x16 しか使用できませんが、スプライトは 16x16 にする必要があります。それに関するインターネット上の非常に少数のことから、メタタイルを使用する必要があることを知りました。唯一の問題は、メタタイルの使い方がわからないことです。通常のタイルを作成するために使用していたプログラムには、メタタイルに変換するオプションがあり、次のように出力されます。
unsigned char TileLabelIndex[] = {
1,
0x00, 0x01, 0x02, 0x03
};
/* Start of tile array. */
unsigned char TileLabel[] = {
0x0F,0x0F,0x30,0x30,0x60,0x60,0x40,0x40,
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
0x40,0x40,0x20,0x20,0x20,0x20,0x30,0x30,
0x10,0x10,0x0C,0x0C,0x06,0x06,0x03,0x03,
0xF8,0xF8,0x44,0x44,0x06,0x06,0x02,0x02,
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
0x04,0x04,0x04,0x04,0x0C,0x0C,0x08,0x08,
0x18,0x18,0x20,0x20,0xC0,0xC0,0x80,0x80
};
通常、それは以下の部分であり、次の/* Start of tile array. */
ようにして使用できます。
set_sprite_data(0, 1, TileLabel);
しかし、メタタイルを使用すると、スプライト全体の 4 分の 1 しか得られません。