关于动画,我们有两种思路
1.通过反复绘制几何图形擦除几何图形的方法实现动画效果, 比如TFT_eSPI库示例中的TFT_Meters示例
2.通过快速显示图片来达到动画效果, 比如现在B站非常流行的badApple
一. 通过几何图形绘制动画效果
绘制几何图形再擦除的方式绘制动画是非常好的方式, 它的:
优点是: 1. 占用空间非常小 2. 动画清晰,充分利用每个像素点 3. 可以非常灵动. 4. 方便进行微调
缺点是: 1. 容易闪屏 2. 一般不会太复杂 3.需要大量的计算
1. 让一个正方形动起来
思路: 绘制一个正方形, 然后每30ms 就擦除一部分正方形顶部的线,
#include <TFT_eSPI.h> // Hardware-specific library
#include <SPI.h>
TFT_eSPI tft = TFT_eSPI(); // Invoke custom library
uint32_t updateTime = 0; // time for next update
int oldi = 0;
int i = 0;
void setup(void)
{
tft.init();
tft.setRotation(0);
tft.fillScreen(TFT_BLACK);
updateTime = millis(); // Next update time
tft.fillRect(0, 0, 50, 50, TFT_RED);
}
void loop()
{
if (updateTime <= millis())
{
upd