我正在尝试使用 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);
但是,如果我这样做,它只会给我整个精灵的四分之一。