2

我正在尝试使用 GBDK 编写自己的 Game Boy 游戏,但我完全遇到了障碍。

瓷砖只能是 8x8 或 8x16,但我需要我的精灵是 16x16。从互联网上关于它的极少数事情中,我发现我需要使用元分块。唯一的问题是我不知道如何使用 metatiles。我用来制作常规图块的程序有一个转换为元图块的选项,并输出:

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

0 回答 0