硬核! 模仿稚晖君OLED丝滑菜单教程(一)


相对于增加标志位判断状态来说,直接用U8G2自带的函数实现坐标值递增会不会更好。
比如控制了一个XBMP数组图像,先水平移动到屏幕正上方,再垂直下降到屏幕中心。(ESP-IDF)
“
void display_welcome_page(void)
{
while (1)
{
u8g2_FirstPage(&u8g2);
do
{
u8g2_ClearBuffer(&u8g2);
u8g2_DrawXBMP(&u8g2, x, y, 100, 39, welcome_logo);
} while (u8g2_NextPage(&u8g2) && (x < x_trg));
x+=1;
if (x == x_trg)
{
y_trg = 12;
break;
}
}
while (1)
{
u8g2_FirstPage(&u8g2);
do
{
u8g2_ClearBuffer(&u8g2);
u8g2_DrawXBMP(&u8g2, x, y, 100, 39, welcome_logo);
} while (u8g2_NextPage(&u8g2) && (y < y_trg));
y+=1;
if (y == y_trg)
{
break;
}
}
}
”