我正试图用一个微控制器开发板的液晶屏编程一个游戏克隆。我决定使用平铺的方法,因为LCD实用程序允许我放置单个像素。我有我的瓷砖定义为二维数组在一个单独的头文件。数组中的每个条目表示该索引处像素的颜色[y][x]。
#define TILE_SIZE 4 \\ px
unsigned short TILE[TILE_SIZE][TILE_SIZE] = {
{ Green, Green, Green, Green },
{ Green, Green, Green, Green },
{ Green, Green, Green, Green },
{ Green, Green, Green, Green }
};
在我的主文件中,我定义了一个tile结构,如下所示
struct Tile {
unsigned short width; // width of tile
unsigned short height; // height of tile
unsigned short pixels[][TILE_SIZE];
unsigned short x; // x-coordinate to begin drawing
unsigned short y; // y-coordinate to begin drawing
};
我不完全确定如何将TILE数组中的数据存储到sprite结构的pixels[][]数组中。我相信通过引用来避免过多的内存使用是最好的,但是我相信不能通过引用来传递2d数组。将tile结构传递给
render_sprite
函数,该函数在代码中循环遍历数组并显示每个像素。我想要这个
渲染精灵
render_sprite(unsigned short pixels[][4])