2

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 しか得られません。

4

0 に答える 0