如何在可以在 LCD 上绘制精灵的区域设置边界

How to place boundaries on the area a sprite can be drawn on an LCD

我正在研究带有 LCD 屏幕的微处理器,我正在编写随机显示一些精灵的代码。

void setup_sprite() {

Sprite sprite[8];
Sprite * sprite_pointer = &sprite;
byte sprite_bitmap [] = {
BYTE( 10100000 ),
BYTE( 01000000 ),
BYTE( 10100000 )
};
const int width = 3;
const int height = 3;

for (int i = 0; i < 8; i++) {
    init_sprite(&sprite, rand()%82, rand()%43, 3, 3, sprite_bitmap);//83/43 is the LCD screen dimensions
    draw_sprite(&sprite);
    refresh();
    }
return 0;
}

我将如何在可以绘制的地方设置边界?它应该只在屏幕上的特定区域内绘制。我在想一个 if 语句,如果精灵被绘制在边界之外,它会重新绘制直到它正确。

具体问题是我在屏幕左侧有大约 10 个像素用于菜单,不应该在该区域绘制精灵。

开始
rand() % 82

生成0到81之间的随机值,你可以修改为

10 + rand() % 72

生成一个介于 10 和 81 之间的随机值,我相信这就是您想要的 x 坐标。